[deploy · Next.js · App Router · Pages Router]

Deploy a Next.js app to real AWS in 5 minutes.

Push a Next.js repo from GitHub. Lander provisions a per-customer VPC, Fargate task, ALB, and CloudFront, runs docker build, and ships your container to a free https://<slug>.app.lander.host subdomain.
$ deploy now →see pricingfree plan · no credit card · commercial use OK
[walkthrough · 5 minutes]
01

Add a Dockerfile to your Next.js repo

Lander auto-detects your stack, but a Dockerfile gives you full control. Drop this in the project root — it works for both App Router and Pages Router on Next.js 14+ with `output: 'standalone'`.
# Dockerfile
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
ENV PORT=80
EXPOSE 80
CMD ["node", "server.js"]
02

Set output: 'standalone' in next.config.js

This makes Next.js emit a single self-contained server.js. Without it, the Dockerfile would need to copy node_modules — slower and bigger.
// next.config.js
module.exports = {
  output: "standalone",
}
03

Sign up at lander.host/onboard with Google

Pick the Free plan if you just want to try it (3 static sites — but Next.js with API routes is dynamic, so you'll want Hobby $25/mo). Install the Lander GitHub App and pick your repo.
04

Push to your default branch

Lander spins up a per-customer AWS environment: VPC, Fargate task, ALB target group, ACM cert, Route53 record. CodeBuild clones the repo, runs `docker build`, pushes to ECR, and rolls out to Fargate. Total time: 4–6 minutes.
05

Custom domain (optional)

On Hobby+ tiers, point a CNAME to <slug>.app.lander.host and Lander auto-issues an ACM cert + adds it to your ALB. No manual cert renewal.
[why · lander vs vercel · railway · render]
  • Real AWS isolation: every app gets its own VPC + Fargate task. No noisy-neighbor cold starts like shared serverless.
  • Commercial use OK on Free plan. Vercel's Hobby tier prohibits commercial use; Lander's Free does not.
  • WAF + AI Bug Hunter included on every plan, no Enterprise tier upsell.
[gotchas]
  • ·Next.js standalone output requires Next 12.3+. Earlier versions need a different Dockerfile.
  • ·If your app reads NEXT_PUBLIC_* env vars at build time, set them in Lander's env-var panel BEFORE the first deploy — they're baked into the build.
  • ·App Router server actions work out of the box. WebSocket support needs a sticky-session ALB rule (open a ticket — we'll wire it).
  • ·For static-only Next.js exports (`next export`), Lander auto-detects and ships to S3 + CloudFront ($0.50/mo) instead of Fargate.

5 minutes from clone to live URL.

no credit card · push from GitHub · real AWS underneath$ deploy now → lander.host