Files
DDUp/docker-compose.yml
lzh 4c22a137cf refactor: 管理员账号存储在数据库,生产环境使用宿主机目录存储数据
- 管理员账号在数据库初始化时创建,不再从环境变量读取
  - 默认账号: admin / admin123
  - 首次启动时自动创建,请在登录后修改密码
- 移除 ADMIN_USERNAME 和 ADMIN_PASSWORD 环境变量
- 生产环境 MySQL 数据直接存储在宿主机 /opt/vitals/mysql_data
  - 便于备份和恢复
  - 更直观的数据管理
- 更新部署指南,添加 MySQL 数据目录创建和备份说明
- 更新 .env.example 和 README.md 反映新的配置方式

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 21:16:32 +08:00

55 lines
1.5 KiB
YAML

# 本地开发环境配置
# 使用方式: 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: