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.[walkthrough · 5 minutes]
01
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'`.Add a Dockerfile to your Next.js repo
# 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
This makes Next.js emit a single self-contained server.js. Without it, the Dockerfile would need to copy node_modules — slower and bigger.Set output: 'standalone' in next.config.js
// next.config.js
module.exports = {
output: "standalone",
}03
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.Sign up at lander.host/onboard with Google
04
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.Push to your default branch
05
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.Custom domain (optional)
[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.
Concepts: environments, deploys, static fast-path→Pricing — Hobby $25, Pro $75, Team $200→Vibe-code with Claude (Pro)→
[other stacks · same flow]