65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
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:
|