Files
BillCare/docker-compose.yml
Macbook 9891cd9a94 exdev 자동 배포(Jenkins/post-receive) 및 billcare.exdev.co.kr HTTPS 연동
git push main 시 Docker Compose 빌드·배포하고 Caddy로 https://billcare.exdev.co.kr 접속을 지원합니다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 05:11:05 +09:00

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: