services: pinwheel: build: dockerfile: ./cmd/proxy/Dockerfile context: . env_file: - .env depends_on: pinwheel-db: condition: service_healthy ports: - "8081" environment: - DATABASE_URL=postgres://user:pass@pinwheel-db:5432/pinwheel-db?sslmode=disable nginx: image: nginx:1.25.2-alpine ports: - "80:80" volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - pinwheel - pinwheel-dashboard pinwheel-dashboard: build: dockerfile: ./cmd/dashboard/Dockerfile context: . env_file: - .env depends_on: pinwheel-db: condition: service_healthy ports: - "3000" environment: - DATABASE_URL=postgres://user:pass@pinwheel-db:5432/pinwheel-db?sslmode=disable pinwheel-db: image: postgres:18.4-alpine3.24 volumes: - pinwheel_db_data:/var/lib/postgresql environment: POSTGRES_USER: user POSTGRES_PASSWORD: pass POSTGRES_DB: pinwheel-db healthcheck: test: ["CMD-SHELL", "pg_isready -U user -d pinwheel-db"] interval: 2s timeout: 5s retries: 10 ports: - "5432" volumes: pinwheel_db_data: