TutorialFebruary 23, 20266 min read

How to Deploy a Next.js App Without the Headache

Next.js is great. Deploying it shouldn't require a PhD in cloud infrastructure. Whether you're getting started with your first Next.js app or looking for a Vercel alternative, here's a way to get your app live in under two minutes.

The Vercel Question

Let's get this out of the way: Vercel is the default answer for Next.js deployment, and it's a good product. If you're building a serious production app with a team and you want edge functions, analytics, and deep framework integration, Vercel makes sense.

But a lot of Next.js apps don't need all that. You're building a side project, a prototype, an internal tool, or a client demo. You want it online with a URL. You don't want to worry about per-request billing or getting locked into one vendor's proprietary features.

That's the use case DartUp is built for. Flat-rate pricing, deploy in seconds, move on with your life.

How It Works

DartUp runs your Next.js app in standalone mode inside a container. This is actually what Next.js recommends for self-hosted deployments. Theoutput: "standalone"config in next.config.ts tells Next.js to bundle everything into a minimal server that doesn't need node_modules.

DartUp sets this up automatically. You don't have to change your config file or think about it. App Router, Pages Router, API routes, server actions, middleware - it all works.

Step by Step

1

Build your Next.js app

If you're starting from scratch, Claude Code makes this fast:

Claude Code

You: Create a Next.js app with a landing page

and a /dashboard route with some charts

Creating Next.js application...

✓ Initialized Next.js 16 with App Router

✓ Created landing page with hero section

✓ Created /dashboard with chart components

✓ Styled with Tailwind CSS

Already have a Next.js app? Skip this step. DartUp works with existing projects.

2

Get your DartUp API key

Sign up at dartup.dev with Google (takes 10 seconds) and create an API key from the dashboard.

Tell Claude your key so it can deploy on your behalf:

Claude Code

You: My DartUp API key is dk_xxxxxxxxxxxx

3

Deploy

That's the whole step. Say deploy.

Claude Code

You: Deploy this Next.js app to DartUp as "my-dashboard"

Analyzing project...

Detected: Next.js 16 (App Router)

✓ Configured standalone output

✓ Building production bundle...

✓ Container created

✓ Health check passed

Live at: https://my-dashboard.dartup.dev

Your Next.js app is on the internet with HTTPS. Share the link.

What About Environment Variables?

Next.js apps almost always need env vars. Database URLs, API keys, auth secrets. Pass them at deploy time:

Claude Code

You: Deploy to DartUp with these env vars:

DATABASE_URL=postgres://user:pass@host/db

NEXTAUTH_SECRET=my-secret-key

NEXTAUTH_URL=https://my-dashboard.dartup.dev

DartUp encrypts them and makes them available to your running container. They're never visible in logs or the dashboard.

Auto-generated secrets

If your project has a .env.example with common secret names like AUTH_SECRET,SESSION_SECRET, orJWT_SECRET, DartUp generates secure random values automatically. One less thing to configure.

Adding a Database

Most real Next.js apps need a database. DartUp can spin up a Postgres sidecar alongside your app:

Claude Code

You: Deploy to DartUp with a Postgres database

Deploying with database...

✓ PostgreSQL container created

✓ DATABASE_URL injected

✓ Next.js app deployed

Live at: https://my-dashboard.dartup.dev

Your app gets a DATABASE_URL automatically. If you're using Prisma (most Next.js apps are), it just works. MySQL, Redis, and MongoDB are also available.

Pro feature

Sidecar databases require the Pro plan ($29/month). The free tier works great for Next.js apps that use external databases or don't need one.

What About ISR, Server Actions, and Middleware?

Since DartUp runs your Next.js app as a real Node.js server (not a serverless environment), everything that works in development works in production. Server components render on the server. API routes handle requests. Middleware runs. ISR revalidates.

The one thing you don't get is edge runtime. Your app runs in a single region, not distributed globally. For most projects, that's fine. If you need edge distribution, that's when Vercel or Cloudflare makes more sense.

DartUp vs. Vercel for Next.js

Here's an honest comparison:

DartUpVercel
Deploy speed~60 seconds~90 seconds
PricingFlat rate ($0-$99/mo)Usage-based (can spike)
GitHub requiredNoYes (for auto-deploy)
Edge runtimeNoYes
Database includedYes (Postgres, MySQL, Redis)Postgres (separate billing)
Deploy from AIBuilt for itManual setup

Neither is universally better. Vercel wins on edge, analytics, and team features. DartUp wins on simplicity, pricing transparency, and speed of getting something online when you don't need the enterprise stuff.

FAQ

Can I deploy Next.js without Vercel?

Yes. Next.js is a framework, not a Vercel-only product. The standalone output mode works on any platform that can run a Node.js container. DartUp sets this up automatically.

Does DartUp support the App Router?

Yes. App Router, Pages Router, API routes, server actions, middleware — it all works. DartUp runs your Next.js app as a standard Node.js server.

What Next.js versions are supported?

DartUp supports Next.js 13, 14, 15, and 16. It auto-detects your version from package.json and configures the build accordingly.

Can I use a custom domain?

Yes, on the Pro plan. Point an A record or CNAME to DartUp and your Next.js app will be served on your domain with automatic SSL.

Deploy your Next.js app now

Free tier. No credit card. Live in under two minutes.