2026年用 Docker 私有化部署 FastGPT:从服务器准备到生产上线指南
FastGPT Docker部署教程|2026最新版
本文适合希望在本地服务器、云服务器或内网环境中快速部署 FastGPT 的用户阅读。文章将从环境准备、Docker 安装、项目配置、容器启动、访问验证、常见问题和生产环境建议等方面,完整介绍 FastGPT 的 Docker 部署流程。
一、FastGPT 是什么?
FastGPT 是一个面向企业和个人开发者的 AI 知识库问答与应用编排平台。它可以帮助用户快速搭建基于大语言模型的智能问答系统,并支持知识库导入、向量检索、工作流编排、多模型接入、API 调用等能力。
相比直接调用大模型 API,FastGPT 更适合以下场景:
- 企业内部知识库问答
- 客服机器人
- 文档检索与总结
- 私有化 AI 助手
- 多模型统一接入
- 工作流式 AI 应用搭建
- 低代码 AI 应用平台建设
FastGPT 的优势在于部署灵活、功能完整、生态活跃,并且可以通过 Docker 快速完成私有化部署。对于希望掌控数据安全、降低 SaaS 依赖、搭建企业 AI 基础设施的团队来说,Docker 部署是非常推荐的方式。
二、部署前准备
在正式部署 FastGPT 之前,需要先准备一台服务器。可以是本地 Linux 主机,也可以是云服务器,例如阿里云、腾讯云、华为云、AWS、Azure、Vultr、Hetzner 等。
1. 推荐服务器配置
如果只是个人测试或小规模使用,可以选择较低配置;如果是企业生产环境,建议预留更高资源。
| 使用场景 | CPU | 内存 | 磁盘 | 说明 |
|---|---|---|---|---|
| 个人测试 | 2 核 | 4GB | 40GB | 适合体验功能 |
| 小团队使用 | 4 核 | 8GB | 80GB | 支持少量知识库和用户 |
| 企业生产 | 8 核以上 | 16GB 以上 | 200GB 以上 | 建议配合对象存储和独立数据库 |
需要注意的是,FastGPT 本身并不一定需要 GPU,因为大模型推理通常可以调用外部模型服务,例如 OpenAI、DeepSeek、通义千问、智谱、MiniMax、火山方舟、Claude 或本地模型网关。如果你计划在同一台机器上部署本地大模型,则需要额外准备 GPU 资源。
2. 推荐系统环境
本文以 Ubuntu Server 为例,其他 Linux 发行版也可以参考。
推荐环境:
Ubuntu 22.04 LTS 或 Ubuntu 24.04 LTS
Docker 24+
Docker Compose v2+
如果你使用的是 CentOS、Debian、Rocky Linux 或 AlmaLinux,只要 Docker 与 Docker Compose 能正常运行,整体部署流程差异并不大。
三、安装 Docker 和 Docker Compose
如果你的服务器已经安装 Docker,可以跳过本节。
1. 更新系统软件包
sudo apt update
sudo apt upgrade -y
2. 安装基础依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
3. 安装 Docker
推荐使用 Docker 官方安装脚本:
curl -fsSL https://get.docker.com | sudo bash
安装完成后,检查 Docker 版本:
docker version
如果能看到 Client 和 Server 信息,说明 Docker 已经安装成功。
4. 设置 Docker 开机自启
sudo systemctl enable docker
sudo systemctl start docker
5. 检查 Docker Compose
新版 Docker 通常已经内置 Compose 插件,可以使用以下命令检查:
docker compose version
如果能正常输出版本号,说明 Docker Compose 可用。
四、获取 FastGPT Docker 部署文件
FastGPT 官方通常会提供 Docker Compose 部署方式。你可以从官方仓库获取部署文件。
1. 克隆 FastGPT 项目
git clone https://github.com/labring/FastGPT.git
cd FastGPT
如果你的服务器访问 GitHub 较慢,可以使用代理、镜像源,或者在本地下载后上传到服务器。
2. 查找 Docker 部署目录
进入项目后,可以查看相关部署文件:
ls
通常你需要关注以下内容:
docker-compose.yml.envconfig.jsonprojects/appfiles/deploy
不同版本的 FastGPT 目录结构可能略有变化,因此建议以官方文档和当前仓库说明为准。本文重点讲解部署思路和关键配置,具体文件名请结合你下载的版本确认。
五、配置环境变量
FastGPT 的 Docker 部署通常依赖多个服务,例如:
- FastGPT 主服务
- MongoDB 数据库
- PostgreSQL 数据库
- 向量数据库
- Redis 缓存
- SandBox 代码运行环境
- 网关或模型代理服务
在启动前,需要重点检查 .env 或 docker-compose.yml 中的配置。
1. 配置访问地址
如果你准备通过域名访问 FastGPT,例如:
https://fastgpt.example.com
需要在环境变量中配置对应的外部访问地址。常见配置项可能类似:
FE_DOMAIN=https://fastgpt.example.com
如果只是本地测试,也可以暂时使用服务器 IP:
FE_DOMAIN=http://服务器IP:3000
生产环境建议使用 HTTPS 域名,不建议长期使用裸 IP。
2. 配置数据库密码
部署文件中通常会包含 MongoDB、PostgreSQL 等数据库密码。请务必修改默认密码,例如:
MONGODB_PASSWORD=your_strong_mongodb_password
POSTGRES_PASSWORD=your_strong_postgres_password
密码建议包含大小写字母、数字和特殊符号,长度不少于 16 位。
不要在生产环境中使用示例密码、弱密码或公开文档中的默认密码。
3. 配置模型服务
FastGPT 的核心能力依赖大模型。你可以接入 OpenAI 兼容接口,也可以接入国内模型平台。
常见模型配置包括:
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_API_KEY=sk-xxxx
如果使用兼容 OpenAI 格式的服务,例如 DeepSeek、One API、New API、LiteLLM、Ollama 网关或企业内部模型网关,也可以将 OPENAI_BASE_URL 修改为对应地址。
例如:
OPENAI_BASE_URL=https://your-model-gateway.example.com/v1
OPENAI_API_KEY=your_api_key
需要注意的是,具体配置字段可能因 FastGPT 版本不同而变化。部署前建议检查官方示例配置,并确认模型名称、Embedding 模型和 Chat 模型是否正确。
六、启动 FastGPT 服务
完成配置后,可以使用 Docker Compose 启动服务。
1. 后台启动容器
docker compose up -d
首次启动时,Docker 会自动拉取镜像。根据服务器网络情况,可能需要几分钟到十几分钟。
2. 查看容器状态
docker compose ps
如果所有服务状态均为 running 或 healthy,说明基础服务已经启动。
3. 查看日志
如果页面无法访问,或者某些容器不断重启,可以查看日志:
docker compose logs -f
也可以只查看某个服务日志:
docker compose logs -f fastgpt
服务名需要根据你的 docker-compose.yml 文件确认。
七、访问 FastGPT 控制台
容器启动成功后,可以在浏览器访问:
http://服务器IP:3000
如果你配置了域名和反向代理,则访问:
https://fastgpt.example.com
首次访问通常需要创建管理员账号,或者使用部署文件中预设的初始化账号。不同版本 FastGPT 的初始化方式可能不同,建议查看当前版本的官方说明。
登录后,你可以进行以下操作:
- 创建知识库
- 上传文档
- 配置向量模型
- 创建 AI 应用
- 绑定聊天模型
- 测试知识库问答
- 发布 API 或网页应用
如果知识库导入失败,优先检查 Embedding 模型是否配置正确;如果聊天无响应,优先检查 Chat 模型 API Key、模型名称和网络连通性。
八、配置 Nginx 反向代理和 HTTPS
生产环境中,建议不要直接暴露 3000 端口,而是使用 Nginx、Caddy、Traefik 或云厂商负载均衡进行反向代理。
以下是一个 Nginx 示例:
server {
listen 80;
server_name fastgpt.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
配置完成后,重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
配置 HTTPS
推荐使用 Certbot 自动申请 Let’s Encrypt 证书:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d fastgpt.example.com
申请成功后,Certbot 会自动修改 Nginx 配置并开启 HTTPS。
生产环境中建议强制 HTTPS,并确保 FastGPT 的外部访问地址配置为 https://,否则可能出现登录回调、资源加载或接口请求异常。
九、常见问题排查
1. Docker 镜像拉取失败
如果拉取镜像失败,通常是网络问题。可以尝试:
- 配置 Docker 镜像加速器
- 使用海外服务器
- 手动拉取镜像
- 检查 DNS 是否可用
查看具体错误:
docker compose pull
2. 容器一直重启
先查看容器状态:
docker compose ps
再查看日志:
docker compose logs -f
常见原因包括:
- 环境变量填写错误
- 数据库密码不一致
- 端口被占用
- 数据卷权限异常
- 依赖服务未正常启动
- 模型接口无法连接
3. 页面能打开,但无法对话
优先检查模型配置:
- API Key 是否正确
- Base URL 是否正确
- 模型名称是否存在
- 账号额度是否充足
- 服务器是否能访问模型 API
- 是否使用了错误的接口格式
可以在服务器上测试接口连通性:
curl https://your-model-api.example.com/v1/models \
-H "Authorization: Bearer your_api_key"
如果接口无法返回结果,说明问题不在 FastGPT,而在模型服务或网络层。
4. 知识库导入失败
知识库导入通常依赖文档解析、Embedding 模型和向量数据库。可以重点检查:
- 上传文件格式是否支持
- 文件是否过大
- 文档解析服务是否正常
- Embedding 模型是否配置正确
- 向量数据库是否正常运行
- 容器日志是否出现超时或权限错误
如果使用中文知识库,建议选择中文表现较好的 Embedding 模型,以提升检索效果。
5. 端口被占用
如果启动时报端口占用,可以查看端口:
sudo lsof -i:3000
或者:
sudo ss -lntp | grep 3000
如果已有服务占用该端口,可以修改 docker-compose.yml 中的端口映射,例如将外部端口改为 3001。
十、升级 FastGPT
FastGPT 会持续更新,升级前一定要备份数据。
1. 备份数据
如果使用 Docker volume,需要确认数据卷位置:
docker volume ls
建议至少备份:
- MongoDB 数据
- PostgreSQL 数据
- 上传文件
- 配置文件
.envdocker-compose.yml
2. 拉取新版本
进入项目目录:
git pull
然后拉取新镜像:
docker compose pull
3. 重启服务
docker compose down
docker compose up -d
4. 检查日志
docker compose logs -f
升级后建议立即验证登录、知识库检索、应用对话、API 调用等核心功能。
如果是生产环境,建议先在测试环境完成升级验证,再安排业务低峰期升级正式环境。
十一、生产环境优化建议
如果你准备长期运行 FastGPT,建议从安全性、稳定性和可维护性三个方面进行优化。
1. 使用独立数据库
Docker Compose 内置数据库适合快速部署,但生产环境建议使用独立数据库服务,例如:
- 云数据库 MongoDB
- 云数据库 PostgreSQL
- 自建高可用数据库
- 独立 Redis 服务
这样可以降低容器故障对数据的影响,也便于备份、监控和扩容。
2. 配置自动备份
至少应定期备份:
- 数据库
- 上传文件
- 配置文件
- 知识库相关数据
可以使用定时任务:
crontab -e
将备份同步到对象存储或异地服务器,避免单机磁盘损坏导致数据丢失。
3. 开启访问控制
不要将管理后台直接暴露给公网所有用户。可以考虑:
- 使用强密码
- 开启 HTTPS
- 限制管理入口 IP
- 使用企业 SSO
- 配置防火墙规则
- 避免公开数据库端口
服务器安全组只开放必要端口,例如:
8044322- FastGPT 对外服务端口
数据库、Redis、向量数据库等内部端口不应直接暴露到公网。
4. 监控资源使用
FastGPT 在处理大文件、批量导入知识库或高并发问答时,可能会消耗较多 CPU、内存和磁盘 IO。
可以使用以下命令查看资源:
docker stats
也可以接入 Prometheus、Grafana、云监控等工具,对服务状态、磁盘空间、容器重启次数和接口错误率进行监控。
5. 合理选择模型
模型质量直接影响 FastGPT 的使用体验。一般来说:
- Chat 模型决定回答质量
- Embedding 模型决定检索质量
- Rerank 模型决定召回排序质量
- 文档解析能力影响知识入库质量
如果你的知识库以中文为主,建议选择中文语义表现更好的 Embedding 和 Rerank 模型。如果业务场景对准确率要求较高,可以配置更强的模型,并通过知识库分段、召回数量、相似度阈值和重排策略不断优化效果。
十二、部署完成后的使用建议
部署 FastGPT 只是第一步,真正影响效果的是后续配置和知识库质量。
建议按照以下流程使用:
- 先创建一个测试知识库
- 上传少量高质量文档
- 检查分段效果是否合理
- 测试检索是否能命中关键内容
- 调整 Embedding 和 Rerank 配置
- 创建应用并编写清晰的系统提示词
- 逐步导入更多业务文档
- 邀请真实用户测试并收集反馈
不要一开始就上传大量杂乱文档。知识库问答的效果很大程度取决于文档结构、内容质量和分段策略。对于企业内部资料,建议先进行文档清洗,删除过期内容、重复内容和无效内容,再导入 FastGPT。
十三、总结
通过 Docker 部署 FastGPT,是目前最方便、最稳定的私有化部署方式之一。整个流程可以概括为:准备服务器、安装 Docker、获取部署文件、修改环境变量、启动容器、配置模型服务、访问后台并创建知识库。
对于个人用户来说,Docker 部署可以快速体验 FastGPT 的核心能力;对于企业用户来说,私有化部署可以更好地保障数据安全、控制模型接入方式,并根据业务需求进行深度定制。
如果是测试环境,使用默认 Docker Compose 基本即可完成部署;如果是生产环境,则建议进一步配置 HTTPS、独立数据库、自动备份、访问控制、监控告警和模型网关。只有把基础设施、数据治理和模型配置都做好,FastGPT 才能真正成为稳定可靠的企业级 AI 应用平台。