Next.js DevOps

Deployment Strategies

Vercel, AWS, Docker, Kubernetes, and production optimization.

Advertisement

Deployment Strategies

Vercel, AWS, Docker, Kubernetes, and production optimization.

Overview

Choose the right deployment strategy based on your needs.

Key Concepts

  • Vercel — Zero-config Next.js deployment
  • AWS Amplify — AWS-hosted Next.js
  • Docker — Containerized deployment
  • Kubernetes — Orchestration for large apps
  • Edge Deployment — Global edge network

Code Examples

// next.config.js for production
module.exports = {
  output: 'standalone',
  images: {
    unoptimized: false,
    formats: ['image/avif', 'image/webp']
  },
  experimental: {
    optimizeCss: true
  }
};
# Dockerfile
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

FROM node:18-alpine AS runner
WORKDIR /app
ENV NODE_ENV production
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public

EXPOSE 3000
ENV PORT 3000
CMD ["node", "server.js"]
# docker-compose.yml
version: '3.8'
services:
  app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://user:pass@db:5432/mydb
    depends_on:
      - db
  db:
    image: postgres:14
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=pass
      - POSTGRES_DB=mydb

Practice

Deploy a Next.js app to Vercel and set up a Docker deployment.