# 本地开发环境配置 # 使用方式: docker-compose up # 生产环境请使用: docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d services: mysql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword} MYSQL_DATABASE: ${MYSQL_DATABASE:-vitals} MYSQL_USER: ${MYSQL_USER:-vitals} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-vitalspassword} volumes: - mysql_data:/var/lib/mysql ports: - "3399:3306" healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 5 vitals: build: . ports: - "8888:8080" volumes: - ./data:/app/data depends_on: mysql: condition: service_healthy environment: # 环境标识 - ENVIRONMENT=${ENVIRONMENT:-development} # MySQL 配置 - MYSQL_HOST=mysql - MYSQL_PORT=3306 - MYSQL_USER=${MYSQL_USER:-vitals} - MYSQL_PASSWORD=${MYSQL_PASSWORD:-vitalspassword} - MYSQL_DATABASE=${MYSQL_DATABASE:-vitals} # JWT 密钥(请使用随机字符串) - JWT_SECRET=${JWT_SECRET:-vitals-secret-key-change-in-production} # AI 食物识别(可选) - DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY:-} - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-} restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/api/today"] interval: 30s timeout: 10s retries: 3 volumes: mysql_data: