e75d2e1c53
- next.config.mjs : output: 'standalone' — bundle minimal sans node_modules - Dockerfile : multi-stage (deps → builder → runner) sur node:22-alpine - ARG build-time pour les vars NEXT_PUBLIC_* et SENTRY_AUTH_TOKEN (optionnel) - Utilisateur non-root nextjs:nodejs (uid/gid 1001) - Image finale < 200 Mo (pas de node_modules, juste .next/standalone) - docker-compose.yml : service frontend avec env_file et restart: unless-stopped - .dockerignore : exclut node_modules, .next, .env, yarn.lock, docs Alternative au déploiement PM2 existant (DEPLOYMENT.md inchangé). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
14 lines
440 B
YAML
14 lines
440 B
YAML
services:
|
|
frontend:
|
|
build:
|
|
context: .
|
|
args:
|
|
NEXT_PUBLIC_DIRECTUS_API_URL: ${NEXT_PUBLIC_DIRECTUS_API_URL}
|
|
NEXT_PUBLIC_DIRECTUS_API_WS_URL: ${NEXT_PUBLIC_DIRECTUS_API_WS_URL}
|
|
NEXT_PUBLIC_SENTRY_DSN: ${NEXT_PUBLIC_SENTRY_DSN}
|
|
# SENTRY_AUTH_TOKEN: ${SENTRY_AUTH_TOKEN} # décommenter pour uploader les source maps
|
|
ports:
|
|
- "3000:3000"
|
|
env_file: .env
|
|
restart: unless-stopped
|