# WBX Spring Framework — 프로덕션 Docker Compose # 사용법: docker compose up -d services: app: build: . ports: - "8080:8080" environment: SPRING_PROFILES_ACTIVE: prod,mysql JWT_SECRET: ${JWT_SECRET} SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/wbx_spring?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true SPRING_DATASOURCE_USERNAME: wbxapp SPRING_DATASOURCE_PASSWORD: ${DB_PASSWORD} SPRING_DATA_REDIS_HOST: redis SERVER_CONTEXT_PATH: ${SERVER_CONTEXT_PATH:-/} depends_on: db: condition: service_healthy redis: condition: service_started restart: always healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/health"] interval: 30s timeout: 3s retries: 3 db: image: mysql:8.0 environment: MYSQL_DATABASE: wbx_spring MYSQL_USER: wbxapp MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} ports: - "3306:3306" volumes: - db_data:/var/lib/mysql command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 3s retries: 5 redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_data:/data volumes: db_data: redis_data: