services: db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: nest_db POSTGRES_USER: nest_user POSTGRES_PASSWORD: nest_password volumes: - db_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U nest_user -d nest_db"] interval: 5s timeout: 5s retries: 5 api: build: . restart: unless-stopped ports: - "3000:3000" environment: DATABASE_URL: postgresql://nest_user:nest_password@db:5432/nest_db JWT_SECRET: ${JWT_SECRET:-change_me_in_production} PORT: 3000 depends_on: db: condition: service_healthy command: > sh -c "npx prisma migrate deploy && node dist/index.js" volumes: db_data: