跳转到主要内容

概览

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
# 使用您的设置编辑 config.yaml
3

部署

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

验证

curl http://localhost:18080/health

Docker Compose 服务

部署包含三个服务:
服务端口描述
backend18080FastAPI 应用程序服务器
postgres5432PostgreSQL 数据库
redis6379Redis 缓存和会话存储

配置

环境变量

.env
# 数据库
POSTGRES_USER=holistic_user
POSTGRES_PASSWORD=您的安全密码
POSTGRES_DB=holistic_db

# Redis
REDIS_PASSWORD=您的 Redis 密码

Docker Compose 覆盖

创建 docker-compose.override.yml 进行本地自定义:
docker-compose.override.yml
version: '3.8'

services:
  backend:
    environment:
      - LOG_LEVEL=DEBUG
    ports:
      - "18081:18080"  # 自定义端口

管理命令

# 查看日志
docker-compose logs -f backend

# 重启服务
docker-compose restart backend

# 停止所有服务
docker-compose down

# 重新构建容器
docker-compose build --no-cache

# 在容器中执行命令
docker-compose exec backend python -c "print('Hello')"

数据持久化

数据持久化在 Docker 卷(Volumes)中:
  • pgdata: PostgreSQL 数据
  • redis-data: Redis 持久化数据
# 备份数据库
docker-compose exec postgres pg_dump -U holistic_user holistic_db > backup.sql

# 恢复数据库
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
关于生产环境部署,请参阅 生产环境部署