# Levanta solo el frontend (Next.js). El backend (Internal-API) tiene su # propio docker-compose.yml en ese repositorio. # # NEXT_PUBLIC_API_URL se necesita en BUILD time (Next.js lo incrusta en el # bundle del cliente), así que viene de `build.args`, no solo de `environment`. # Docker Compose solo autocarga un archivo llamado ".env" en este mismo # directorio para resolver los ${...} de este archivo — como aquí usamos # ".env.production", hay que decírselo explícitamente al levantar: # # docker compose --env-file .env.production up -d --build # # (o copia/renombra .env.production a .env si prefieres el comportamiento # por defecto de `docker compose up`). services: web: build: context: . dockerfile: Dockerfile args: NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL:?Define NEXT_PUBLIC_API_URL (en .env.production) con la URL pública del backend} env_file: - .env.production ports: - "${FRONTEND_PORT:-3000}:3000" restart: unless-stopped