Docker Compose для Next.js (Standalone build) + Nginx SSL Termination

Обновлено: Август 2026 Стек: Next.js 14/15 Standalone, Node 20 Alpine, Nginx Проверено: Production-Ready

Готовый рецепт Docker Compose для деплоя Next.js 14/15 в режиме standalone output: минимальный размер Docker-образа (<120MB), Nginx SSL прокси.

Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
docker-compose.yml
# docker-compose.yml
version: '3.8'

services:
  nextjs:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: nextjs_app
    restart: always
    environment:
      - NODE_ENV=production
      - PORT=3000
    networks:
      - frontend

  nginx:
    image: nginx:alpine
    container_name: nextjs_ssl_proxy
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
      - ./ssl:/etc/nginx/ssl:ro
    depends_on:
      - nextjs
    networks:
      - frontend

networks:
  frontend:
    driver: bridge

Разбор ключевых директив конфигурации

Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).

Директива / Блок Рекомендуемое значение Зачем нужно и системное влияние (CPU / RAM / I-O)
Standalone output next.config.js output: 'standalone' Собирает только используемые node_modules, уменьшая образ с 1.2 GB до 110 MB и ускоряя холодный старт контейнера.

Рекомендуемые системные требования VDS под этот стек

Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.

Оптимальный сайзинг: 2 vCPU, 2-4 GB RAM, 30 GB NVMe
Расчетная нагрузка: Next.js SSR портал
Timeweb Cloud
2 CPU / 4 GB NVMe
Процессор: 2 vCPU
Память RAM: 2-4 GB RAM
Накопитель: 30 GB NVMe
🔷 Selectel
2 vCPU / 4 GB RAM
Процессор: 2 vCPU
Память RAM: 2-4 GB RAM
Накопитель: 30 GB NVMe
🟠 Beget
Turbo 4 GB
Процессор: 2 vCPU
Память RAM: 2-4 GB RAM
Накопитель: 30 GB NVMe

Онлайн-утилиты SysKit для проверки этого сервера

Протестируйте корректность применения конфигурации прямо сейчас в один клик.

Частые ошибки при настройке и их решение (FAQ)

Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.

Почему при сборке Standalone не копируются статические ассеты?
В Dockerfile обязательно скопируйте папку `.next/static` в `.next/standalone/.next/static` и `public` в `.next/standalone/public`.