feat: dockerisation frontend Next.js (output: standalone)
- 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>
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
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
|
||||
Reference in New Issue
Block a user