services: postgres: image: postgres:16-alpine container_name: ten-minute-postgres environment: POSTGRES_DB: ten_minute_planner POSTGRES_USER: zenn POSTGRES_PASSWORD: wps!vmffosj180204 volumes: - postgres_data:/var/lib/postgresql/data ports: - "45432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U zenn -d ten_minute_planner"] interval: 10s timeout: 5s retries: 10 restart: unless-stopped backend: build: context: ./backend container_name: ten-minute-backend environment: PORT: 3001 DATABASE_URL: postgresql://zenn:wps%21vmffosj180204@postgres:5432/ten_minute_planner CORS_ORIGIN: http://localhost:48081 SESSION_TTL_DAYS: 30 depends_on: postgres: condition: service_healthy expose: - "3001" restart: unless-stopped frontend: build: context: . args: VITE_API_BASE_URL: /api container_name: ten-minute-frontend depends_on: - backend ports: - "48081:80" restart: unless-stopped volumes: postgres_data: