services: api: build: context: . dockerfile: Dockerfile.dev container_name: lunarfront-api restart: unless-stopped ports: - "8000:8000" volumes: - ./packages:/app/packages - ./package.json:/app/package.json - /app/node_modules - /app/packages/backend/node_modules - /app/packages/shared/node_modules environment: DATABASE_URL: postgresql://lunarfront:lunarfront@postgres:5432/lunarfront REDIS_URL: redis://valkey:6379 JWT_SECRET: dev-secret-do-not-use-in-production NODE_ENV: development PORT: "8000" HOST: "0.0.0.0" depends_on: postgres: condition: service_healthy valkey: condition: service_healthy postgres: image: postgres:16 container_name: lunarfront-postgres restart: unless-stopped environment: POSTGRES_USER: lunarfront POSTGRES_PASSWORD: lunarfront POSTGRES_DB: lunarfront ports: - "5432:5432" volumes: - lunarfront-pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U lunarfront"] interval: 5s timeout: 3s retries: 5 valkey: image: valkey/valkey:8 container_name: lunarfront-valkey restart: unless-stopped ports: - "6379:6379" volumes: - lunarfront-valkey:/data healthcheck: test: ["CMD", "valkey-cli", "ping"] interval: 5s timeout: 3s retries: 5 volumes: lunarfront-pgdata: lunarfront-valkey: