services: api: build: context: .. dockerfile: apps/api/Dockerfile env_file: ../.env environment: NODE_ENV: production restart: unless-stopped expose: ["4000"] web: build: context: .. dockerfile: apps/web/Dockerfile args: NEXT_PUBLIC_API_URL: https://${PUBLIC_DOMAIN:?Set PUBLIC_DOMAIN}/api environment: NODE_ENV: production restart: unless-stopped expose: ["3000"] caddy: image: caddy:2-alpine environment: PUBLIC_DOMAIN: ${PUBLIC_DOMAIN:?Set PUBLIC_DOMAIN} ports: ["80:80", "443:443", "443:443/udp"] volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy_data:/data - caddy_config:/config depends_on: [api, web] restart: unless-stopped volumes: caddy_data: caddy_config: