version: "3.9" services: app: image: mcr.microsoft.com/playwright:v1.56.1-jammy working_dir: /app command: sh -c "npm install && npm run dev" ports: - "3000:3000" environment: - NODE_ENV=development - PORT=3000 - DATABASE_URL=postgresql://app:app_password@db:5432/page_builder?schema=public - NEXTAUTH_URL=${NEXTAUTH_URL} - NEXTAUTH_SECRET=${NEXTAUTH_SECRET} - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} - APPLE_CLIENT_ID=${APPLE_CLIENT_ID} - APPLE_CLIENT_SECRET=${APPLE_CLIENT_SECRET} - NAVER_CLIENT_ID=${NAVER_CLIENT_ID} - NAVER_CLIENT_SECRET=${NAVER_CLIENT_SECRET} - KAKAO_CLIENT_ID=${KAKAO_CLIENT_ID} - KAKAO_CLIENT_SECRET=${KAKAO_CLIENT_SECRET} - EMAIL_SERVER_HOST=${EMAIL_SERVER_HOST} - EMAIL_SERVER_PORT=${EMAIL_SERVER_PORT} - EMAIL_SERVER_USER=${EMAIL_SERVER_USER} - EMAIL_SERVER_PASSWORD=${EMAIL_SERVER_PASSWORD} - EMAIL_FROM=${EMAIL_FROM} volumes: - ./:/app - app-node-modules:/app/node_modules depends_on: db: condition: service_healthy db: image: postgres:16 environment: POSTGRES_USER: app POSTGRES_PASSWORD: app_password POSTGRES_DB: page_builder ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U app -d page_builder"] interval: 5s timeout: 3s retries: 20 volumes: - pgdata:/var/lib/postgresql/data pgadmin: image: dpage/pgadmin4:9 environment: PGADMIN_DEFAULT_EMAIL: admin@example.com PGADMIN_DEFAULT_PASSWORD: admin1234 ports: - "5050:80" depends_on: - db volumes: pgdata: app-node-modules: