Files
2026-05-31 10:19:27 +02:00

42 lines
1.2 KiB
YAML

# Single compose file for BOTH prod and dev.
#
# Environment-specific values (project / image / container / network names) are
# supplied via env vars resolved from the project-dir ".env" file
# (in prod and dev that is a symlink -> .env.production). The defaults below are
# the PRODUCTION values, so prod works with no extra vars; the dev worktree's
# .env.production sets WEB_PROJECT / WEB_IMAGE / WEB_CONTAINER / WEB_NETWORK.
name: ${WEB_PROJECT:-web}
services:
web-dev:
build:
context: .
dockerfile: Dockerfile
args:
NEXT_PUBLIC_SUPABASE_URL: ${NEXT_PUBLIC_SUPABASE_URL}
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${NEXT_PUBLIC_SUPABASE_ANON_KEY}
NEXT_PUBLIC_APP_URL: ${NEXT_PUBLIC_APP_URL}
image: ${WEB_IMAGE:-web:1.0.0}
container_name: ${WEB_CONTAINER:-web}
restart: unless-stopped
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
env_file:
- .env.production
expose:
- "3000"
networks:
- default
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000/"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
networks:
default:
name: ${WEB_NETWORK:-edge}
external: true