使用 Docker Compose 部署
本指南将帮助你使用 Docker Compose 在生产环境部署 Loonflow。
前置条件
开始之前,请确保满足以下条件:
Linux 服务器(参考 服务器硬件要求)
已安装 Docker 20.10+
已安装 Docker Compose 2.0+
安装 Docker 与 Docker Compose
若服务器尚未安装 Docker 与 Docker Compose,请按以下步骤操作:
安装 Docker:
# Ubuntu/Debian curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # CentOS/RHEL sudo yum install -y docker sudo systemctl start docker sudo systemctl enable docker
安装 Docker Compose:
# Download the latest version of Docker Compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
验证安装:
docker --version docker-compose --version
下载 Docker Compose 配置文件
创建部署目录:
mkdir -p /opt/loonflow cd /opt/loonflow
下载所需配置文件:
wget https://raw.githubusercontent.com/blackholll/loonflow/refs/heads/master/docker_compose_deploy/docker-compose.yml wget https://raw.githubusercontent.com/blackholll/loonflow/refs/heads/master/docker_compose_deploy/.env
如果你已克隆仓库,也可以直接复制文件:
配置环境变量
编辑 .env 文件,配置以下必要的环境变量:
# Edit the .env file
vi .env
重要配置项:
数据库配置:
POSTGRES_USER:PostgreSQL 数据库用户名(默认:loonflow)POSTGRES_PASSWORD:PostgreSQL 数据库密码(必须修改)POSTGRES_DB:数据库名(默认:loonflow)POSTGRES_PORT:PostgreSQL 端口(默认:5432)
Redis 配置:
REDIS_PASSWORD:Redis 密码(必须修改)REDIS_PORT:Redis 端口(默认:6379)
管理员账号配置:
ADMIN_EMAIL:管理员邮箱(用于登录)ADMIN_NAME:管理员用户名ADMIN_PASSWORD:管理员密码(必须修改)
租户配置:
TENANT_NAME:租户名称TENANT_DOMAIN:租户域名
数据卷配置:
PG_DATA_VOLUME:PostgreSQL 数据卷名称(用于数据持久化)
安全提示: 请务必修改所有与密码相关的配置项,并使用强密码以保障系统安全。
启动服务
确认当前所在目录包含
docker-compose.yml文件:cd /opt/loonflow
启动全部服务:
docker-compose up -d
该命令将在后台启动以下服务:
loonflow-redis:Redis 服务(用于生成工单流水号和 Celery 异步任务)
loonflow-pg:PostgreSQL 数据库服务
loonflow-backend:Loonflow 后端服务(Django + Gunicorn)
loonflow-ui:Loonflow 前端服务(Nginx)
loonflow-task:Celery 任务处理服务
检查服务状态:
docker-compose ps查看服务日志(可选):
# View logs for all services docker-compose logs -f # View logs for a specific service docker-compose logs -f loonflow-backend
访问应用
服务启动后,可通过浏览器访问 Loonflow:
访问地址:
http://your_server_ip:80登录凭据:
邮箱:
.env中配置的ADMIN_EMAIL密码:
.env中配置的ADMIN_PASSWORD
常用管理命令
停止服务:
docker-compose stop启动服务:
docker-compose start重启服务:
docker-compose restart停止并移除容器:
docker-compose down停止并移除容器及数据卷**(**警告:这将删除数据库数据):
docker-compose down -v
更新服务:
# Pull the latest images docker-compose pull # Recreate and start containers docker-compose up -d
故障排查
如遇问题,可尝试以下步骤:
检查服务状态:
docker-compose ps查看服务日志:
docker-compose logs [service_name]
检查端口占用:
# Check if port 80 is in use netstat -tulpn | grep :80
检查防火墙设置:
确保防火墙放行以下端口:
80:HTTP 访问
8000:后端 API(如需直接访问)
5432:PostgreSQL(如需外部访问)
6379:Redis(如需外部访问)
重启服务:
docker-compose restart [service_name]
重要说明
首次启动时,后端服务会自动执行数据库迁移并创建超级管理员,可能需要几分钟
确保服务器有足够的资源(CPU、内存、磁盘空间)
定期备份 PostgreSQL 数据卷(
pg_data)生产环境应配置 HTTPS 和反向代理