MuseMVP

MuseMVP Base: Next.js for Node and Cloudflare. MuseMVP Flare: an AI SaaS template that runs entirely on Cloudflare. Authentication, billing and administration included.

Product
  • Home
  • Pricing
  • Templates
Resources
  • Docs
  • Blog
  • Changelog
Legal
  • Privacy
  • Terms
  • Community
Open-Launch Top 1 Daily WinnerOpen-Launch Top 1 Daily WinnerVerified DR - Verified Domain Rating for musemvp.comVerified DR - Verified Domain Rating for musemvp.comMuseMVP - Featured on Startup FameMuseMVP - Featured on Startup FameFazier badgeFazier badgeLiftOff award badgeLiftOff award badge

© 2026 MuseMVP. All rights reserved.

MuseMVP
  • Pricing
  • Docs
  • Blog
  • Changelog
Buy All in One
MuseMVP Docs
MuseMVP Docs
OverviewTech StackQuick Start
Project Structure
Database ConfigurationDatabase Migrations
EmailObject Storage
Internationalization
SEOAnalytics
Database

Database Configuration

Start with a development database, inspect your data, and prepare a separate production database.

Web uses PostgreSQL with a pooled driver. Start with local Docker or a hosted development database, then prepare a separate production database.

Before You Start

Install dependencies at the repository root. Use a new development database for first setup. If this is an existing customized database, read Updating Your Project before applying migrations.

Development PostgreSQL

For local Docker Postgres:

pnpm muse:init --app node --docker

For a hosted development database such as Neon, create a database, copy its connection string (including the provider's TLS parameters), and use:

pnpm muse:init --app node --database-url "postgres://USER:PASSWORD@HOST:5432/DATABASE"

Choose one of these paths. Init writes DATABASE_URL in apps/web/.env.local and applies the initial migrations. If you already completed Quick Start, do not reinitialize just to inspect data.

Check migration state and open the database browser:

pnpm db:status
pnpm db:studio

Open the Studio URL printed in the terminal. Inspect seeded users without editing their auth records manually. Node uses a connection pool; DATABASE_POOL_MAX defaults to 5. Adjust it to your host's connection allowance if necessary.

Check Your Result

  • Initialization and the matching seed command complete without database errors.
  • The development user can sign in and saved account changes remain after refresh.
  • Node pnpm db:status reports the expected migration state; Studio shows your development database.

Common Problems

ProblemFix
Connection refusedCheck the Postgres host/port and whether Docker or your database service is running
Authentication or TLS errorCopy the full provider connection string; escape reserved password characters appropriately
Too many connectionsCheck database limits and the Node pool maximum
Old production data existsBack up and design incremental migrations; do not replay the fresh-install baseline

When You Add Tables

The schema is packages/db/src/schema.ts. Generate the matching database migrations. Shared queries in packages/db/src/queries/ receive db first; application wrappers bind the driver. Components must not access the database directly.

Project Structure

Navigate the MuseMVP pnpm workspace, app boundaries, shared packages and customization entrypoints.

Database Migrations

Review and apply PostgreSQL migrations with backups and release checks.

On this page

Before You StartDevelopment PostgreSQLCheck Your ResultCommon ProblemsWhen You Add Tables

One payment. Tax included.

All in One

Base, Flare and every UI template, plus new ones.

$129

Buy All in One