version: '3.8' services: redis: image: redis:7-alpine container_name: gala-redis restart: unless-stopped volumes: - redis_data:/data networks: - gala-network server: build: context: . dockerfile: packages/server/Dockerfile container_name: gala-server restart: unless-stopped environment: - NODE_ENV=production - PORT=3000 - REDIS_HOST=redis - REDIS_PORT=6379 - CORS_ORIGINS=${CORS_ORIGINS:-*} depends_on: - redis networks: - gala-network caddy: build: context: . dockerfile: deploy/Dockerfile.caddy args: - VITE_SOCKET_URL=${VITE_SOCKET_URL:-} - VITE_API_URL=${VITE_API_URL:-} - VITE_MOBILE_URL=${VITE_MOBILE_URL:-} container_name: gala-caddy restart: unless-stopped ports: - "80:80" - "443:443" volumes: - caddy_data:/data - caddy_config:/config depends_on: - server networks: - gala-network volumes: redis_data: caddy_data: caddy_config: networks: gala-network: driver: bridge