FastGPT Docker 一键部署指南:从环境准备到启动访问全流程命令
FastGPT Docker部署教程|附完整命令
FastGPT 是一套面向知识库问答、工作流编排和私有化 AI 应用构建的开源平台。相比手动源码部署,使用 Docker 部署更适合大多数生产和测试环境:安装快、依赖少、环境更统一,后续升级和迁移也更方便。
本文将带你从零完成 FastGPT 的 Docker 部署,内容包含环境准备、完整命令、配置说明、启动验证、常见问题排查,以及上线建议。即使你之前没有部署过 FastGPT,也可以按步骤完成。
一、部署前准备
在开始之前,建议先准备好以下条件:
1. 服务器环境
推荐使用 Linux 服务器,例如:
- Ubuntu 20.04 / 22.04
- CentOS 7 / 8
- Debian 11+
建议配置:
- 2 核 CPU 起步
- 4GB 内存起步
- 20GB 以上磁盘空间
- 稳定的公网或内网访问环境
2. 基础软件
确保服务器已安装:
DockerDocker Compose
你可以先检查是否已安装:
docker --version
docker compose version
如果没有安装,可以使用下面的命令安装。
二、安装 Docker 与 Docker Compose
以下以 Ubuntu 为例,其他 Linux 发行版可根据系统调整。
1. 更新系统
sudo apt update && sudo apt upgrade -y
2. 安装依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
3. 添加 Docker 官方源
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5. 验证安装
sudo docker run hello-world
如果输出欢迎信息,说明 Docker 已正常工作。
6. 配置免 sudo 使用 Docker
sudo usermod -aG docker $USER
newgrp docker
三、创建部署目录
建议为 FastGPT 单独创建一个目录,方便后续维护。
mkdir -p ~/fastgpt
cd ~/fastgpt
推荐目录结构如下:
fastgpt/
├── docker-compose.yml
├── .env
├── data/
└── logs/
四、准备 FastGPT 配置文件
FastGPT 的 Docker 部署通常需要配合环境变量和数据库服务。不同版本的官方配置可能略有差异,因此这里给出一个通用、实用的部署方式。
1. 创建 .env 文件
cat > .env << 'EOF'
# 基础配置
TZ=Asia/Shanghai
# FastGPT Web 访问地址
DOMAIN=http://localhost:3000
# MongoDB
MONGO_URI=mongodb://mongo:27017/fastgpt
# MySQL
MYSQL_HOST=mysql
MYSQL_PORT=3306
MYSQL_USER=fastgpt
MYSQL_PASSWORD=fastgpt123
MYSQL_DATABASE=fastgpt
# Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
# OpenAI 或兼容模型
OPENAI_API_KEY=your-api-key
OPENAI_BASE_URL=https://api.openai.com/v1
EOF
注意:
OPENAI_API_KEY和OPENAI_BASE_URL需要根据你实际使用的模型服务来填写。
如果你用的是国内兼容接口,也可以替换成对应平台的地址。
五、编写 Docker Compose 文件
下面是一个可直接参考的 docker-compose.yml 示例,包含 FastGPT、MongoDB、MySQL、Redis。
如果你已有自己的数据库,也可以只保留 FastGPT 服务并修改连接信息。
cat > docker-compose.yml << 'EOF'
version: '3.9'
services:
mongo:
image: mongo:6
container_name: fastgpt-mongo
restart: always
ports:
- "27017:27017"
volumes:
- ./data/mongo:/data/db
command: mongod --quiet
mysql:
image: mysql:8.0
container_name: fastgpt-mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root123
MYSQL_DATABASE: fastgpt
MYSQL_USER: fastgpt
MYSQL_PASSWORD: fastgpt123
TZ: Asia/Shanghai
volumes:
- ./data/mysql:/var/lib/mysql
command: --default-authentication-plugin=mysql_native_password
redis:
image: redis:7
container_name: fastgpt-redis
restart: always
ports:
- "6379:6379"
volumes:
- ./data/redis:/data
command: redis-server --appendonly yes
fastgpt:
image: ghcr.io/labring/fastgpt:latest
container_name: fastgpt-app
restart: always
depends_on:
- mongo
- mysql
- redis
ports:
- "3000:3000"
env_file:
- .env
environment:
TZ: Asia/Shanghai
MONGO_URI: mongodb://mongo:27017/fastgpt
MYSQL_HOST: mysql
MYSQL_PORT: 3306
MYSQL_USER: fastgpt
MYSQL_PASSWORD: fastgpt123
MYSQL_DATABASE: fastgpt
REDIS_HOST: redis
REDIS_PORT: 6379
volumes:
- ./data/fastgpt:/app/data
command: ["node", "server.js"]
EOF
六、启动 FastGPT
在 docker-compose.yml 和 .env 配置完成后,就可以启动服务了。
docker compose up -d
查看容器状态:
docker ps
查看日志:
docker compose logs -f fastgpt
如果想看数据库日志,也可以分别执行:
docker compose logs -f mongo
docker compose logs -f mysql
docker compose logs -f redis
七、访问 FastGPT
启动成功后,在浏览器中访问:
http://服务器IP:3000
如果是本地部署,则访问:
http://localhost:3000
第一次进入后,通常需要完成初始化或登录配置。你可以根据页面提示创建管理员账号,或者按官方文档进行初始化操作。
八、配置模型服务
FastGPT 的核心价值在于对接大模型能力。部署完成后,建议尽快配置可用的模型服务。
常见接入方式包括:
- OpenAI 官方接口
- OpenAI 兼容接口
- 国内模型平台的兼容网关
- 本地模型推理服务
你通常需要关注以下配置项:
API KeyBase URL模型名称嵌入模型向量模型重排序模型
如果你是生产环境,建议:
- 将密钥放入
.env或专门的密钥管理系统 - 不要直接写死在代码里
- 使用稳定、低延迟的模型接口
九、生产环境建议
如果你打算正式使用 FastGPT,建议不要只追求“能启动”,还要考虑稳定性和安全性。
1. 使用反向代理
建议使用 Nginx 或 Caddy 对外提供服务,并启用 HTTPS。
示例 Nginx 配置思路:
server {
listen 80;
server_name fastgpt.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
2. 开启 HTTPS
推荐使用 Let’s Encrypt 免费证书,避免明文传输。
3. 限制数据库端口暴露
如果数据库仅供本机容器使用,尽量不要对公网开放 3306、27017、6379。
4. 定期备份数据
至少备份以下目录:
./data/mongo./data/mysql./data/redis./data/fastgpt
5. 固定镜像版本
生产环境不建议长期使用 latest,最好锁定到明确版本,避免升级引入不兼容变更。
十、常用运维命令
下面这些命令在日常维护中非常实用。
查看运行状态
docker compose ps
查看实时日志
docker compose logs -f
重启全部服务
docker compose restart
仅重启 FastGPT
docker compose restart fastgpt
停止服务
docker compose down
停止并删除容器,但保留数据卷
docker compose down
重新拉取镜像并启动
docker compose pull
docker compose up -d
清理无用镜像
docker image prune -f
十一、常见问题排查
1. 页面无法访问
先检查容器是否正常运行:
docker ps
再检查端口是否监听:
ss -lntp | grep 3000
如果容器已退出,查看日志:
docker compose logs -f fastgpt
2. 数据库连接失败
常见原因包括:
MONGO_URI配置错误- MySQL 用户名或密码错误
- Redis 未启动
- 容器间网络不通
建议逐个确认服务状态:
docker compose ps
3. 模型接口调用失败
检查以下内容:
API Key是否有效Base URL是否正确- 模型名称是否匹配
- 网络是否能访问外部接口
4. 容器启动后反复重启
说明启动过程出现异常。优先查看日志:
docker compose logs -f fastgpt
如果是数据库初始化问题,可能需要先修复数据库,再重新启动应用。
5. 升级后数据异常
升级前务必备份数据目录,然后再执行:
docker compose pull
docker compose up -d
如果新版本不兼容旧数据,可以回滚到上一个稳定版本。
十二、完整部署命令汇总
如果你希望快速执行,这里把核心命令整理成一版完整流程。
mkdir -p ~/fastgpt && cd ~/fastgpt
mkdir -p data/mongo data/mysql data/redis data/fastgpt
创建 .env:
cat > .env << 'EOF'
TZ=Asia/Shanghai
DOMAIN=http://localhost:3000
MONGO_URI=mongodb://mongo:27017/fastgpt
MYSQL_HOST=mysql
MYSQL_PORT=3306
MYSQL_USER=fastgpt
MYSQL_PASSWORD=fastgpt123
MYSQL_DATABASE=fastgpt
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
OPENAI_API_KEY=your-api-key
OPENAI_BASE_URL=https://api.openai.com/v1
EOF
创建 docker-compose.yml:
cat > docker-compose.yml << 'EOF'
version: '3.9'
services:
mongo:
image: mongo:6
container_name: fastgpt-mongo
restart: always
volumes:
- ./data/mongo:/data/db
command: mongod --quiet
mysql:
image: mysql:8.0
container_name: fastgpt-mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root123
MYSQL_DATABASE: fastgpt
MYSQL_USER: fastgpt
MYSQL_PASSWORD: fastgpt123
TZ: Asia/Shanghai
volumes:
- ./data/mysql:/var/lib/mysql
command: --default-authentication-plugin=mysql_native_password
redis:
image: redis:7
container_name: fastgpt-redis
restart: always
volumes:
- ./data/redis:/data
command: redis-server --appendonly yes
fastgpt:
image: ghcr.io/labring/fastgpt:latest
container_name: fastgpt-app
restart: always
depends_on:
- mongo
- mysql
- redis
ports:
- "3000:3000"
env_file:
- .env
environment:
TZ: Asia/Shanghai
MONGO_URI: mongodb://mongo:27017/fastgpt
MYSQL_HOST: mysql
MYSQL_PORT: 3306
MYSQL_USER: fastgpt
MYSQL_PASSWORD: fastgpt123
MYSQL_DATABASE: fastgpt
REDIS_HOST: redis
REDIS_PORT: 6379
volumes:
- ./data/fastgpt:/app/data
command: ["node", "server.js"]
EOF
启动:
docker compose up -d
查看日志:
docker compose logs -f fastgpt
访问:
http://服务器IP:3000
十三、总结
使用 Docker 部署 FastGPT 的优势非常明显:步骤标准、环境隔离、迁移简单、维护成本低。对于个人测试环境,可以直接按本文命令快速跑起来;对于生产环境,则建议进一步补充:
- 反向代理
- HTTPS
- 数据备份
- 固定镜像版本
- 权限与安全加固
如果你想,我还可以继续帮你补一版:
- 适用于生产环境的 FastGPT Docker Compose 完整版
- Nginx + HTTPS + 域名绑定教程
- FastGPT 接入 OpenAI/DeepSeek/通义千问 的配置示例