# Pokedex.Online Local Docker Compose # For testing production builds locally before deploying to Synology # Frontend: http://localhost:8099 # Backend: http://localhost:3099 services: # Frontend - Nginx serving built Vue.js app frontend: build: context: . dockerfile: Dockerfile.frontend container_name: pokedex-frontend-docker-local ports: - '8099:80' depends_on: backend: condition: service_healthy restart: unless-stopped networks: - pokedex-network healthcheck: test: [ 'CMD', 'wget', '--quiet', '--tries=1', '--spider', 'http://localhost:80/' ] interval: 30s timeout: 10s retries: 3 start_period: 40s # Backend - Node.js API server backend: build: context: ./server dockerfile: Dockerfile container_name: pokedex-backend-docker-local ports: - '3099:3000' environment: - DEPLOYMENT_TARGET=docker-local - NODE_ENV=production - PORT=3000 - FRONTEND_URL=http://localhost:8099 env_file: - ./server/.env volumes: # Persist OAuth session data - ./server/data:/app/data # Persist logs - ./server/logs:/app/logs restart: unless-stopped networks: - pokedex-network healthcheck: test: [ 'CMD', 'wget', '--quiet', '--tries=1', '--spider', 'http://localhost:3000/health' ] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: pokedex-network: driver: bridge volumes: backend-data: driver: local backend-logs: driver: local