9891cd9a94
git push main 시 Docker Compose 빌드·배포하고 Caddy로 https://billcare.exdev.co.kr 접속을 지원합니다. Co-authored-by: Cursor <cursoragent@cursor.com>
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
services:
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: billcare-mysql
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_DATABASE: billcare
|
|
MYSQL_USER: billcare
|
|
MYSQL_PASSWORD: billcare
|
|
ports:
|
|
- "${MYSQL_PORT:-3308}:3306"
|
|
volumes:
|
|
- billcare_mysql:/var/lib/mysql
|
|
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-proot"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 20
|
|
start_period: 20s
|
|
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
container_name: billcare-backend
|
|
restart: unless-stopped
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
environment:
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/billcare?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul&characterEncoding=UTF-8
|
|
SPRING_DATASOURCE_USERNAME: billcare
|
|
SPRING_DATASOURCE_PASSWORD: billcare
|
|
APP_CORS_ORIGINS: ${APP_CORS_ORIGINS:-http://localhost:82,http://127.0.0.1:82,http://localhost:5174,https://billcare.exdev.co.kr}
|
|
APP_UPLOAD_DIR: /app/storage/uploads
|
|
volumes:
|
|
- billcare_uploads:/app/storage/uploads
|
|
ports:
|
|
- "${BACKEND_PORT:-8082}:8080"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8080/api/health"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 20
|
|
start_period: 40s
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
container_name: billcare-frontend
|
|
restart: unless-stopped
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
ports:
|
|
- "${FRONTEND_PORT:-82}:80"
|
|
|
|
volumes:
|
|
billcare_mysql:
|
|
billcare_uploads:
|