跳转到主要内容

概览

Docker 是部署 Mirobody Health 最简单的方式之一:可将所有依赖以隔离容器的形式一并运行。

快速部署

1

克隆仓库

git clone https://github.com/thetahealth/mirobody-health.git
cd mirobody-health
2

配置

cp .env_example .env
cp config.example.yaml config.yaml
# Edit config.yaml with your settings
3

部署

./deploy.sh
或手动运行:
docker-compose up -d
4

验证

curl http://localhost:18080/health

Docker Compose 服务

部署包含三个服务:
ServicePortDescription
backend18080FastAPI application server
postgres5432PostgreSQL database
redis6379Redis cache and session store

配置

Environment Variables

.env
# Database
POSTGRES_USER=holistic_user
POSTGRES_PASSWORD=your_secure_password
POSTGRES_DB=holistic_db

# Redis
REDIS_PASSWORD=your_redis_password

Docker Compose Override

如需本地自定义,可创建 docker-compose.override.yml
docker-compose.override.yml
version: '3.8'

services:
  backend:
    environment:
      - LOG_LEVEL=DEBUG
    ports:
      - "18081:18080"  # Custom port

管理命令

# View logs
docker-compose logs -f backend

# Restart service
docker-compose restart backend

# Stop all services
docker-compose down

# Rebuild containers
docker-compose build --no-cache

# Execute command in container
docker-compose exec backend python -c "print('Hello')"

数据持久化

数据会持久化在 Docker volumes 中:
  • pgdata: PostgreSQL data
  • redis-data: Redis persistence
# Backup database
docker-compose exec postgres pg_dump -U holistic_user holistic_db > backup.sql

# Restore database
docker-compose exec -T postgres psql -U holistic_user holistic_db < backup.sql

故障排查

config.yamldocker-compose.override.yml 中修改端口
查看日志:docker-compose logs backend
确认 PostgreSQL 运行中:docker-compose ps postgres
生产环境部署请参见生产环境部署