上一篇 下一篇 分享链接 返回 返回顶部

FastGPT Docker 一键部署指南:从环境准备到启动访问全流程命令

发布人:慈云数据-客服中心 发布时间:3小时前 阅读量:1

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. 基础软件

确保服务器已安装:

  • Docker
  • Docker 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_KEYOPENAI_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 Key
  • Base 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. 限制数据库端口暴露

如果数据库仅供本机容器使用,尽量不要对公网开放 3306270176379

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
  • 数据备份
  • 固定镜像版本
  • 权限与安全加固

如果你想,我还可以继续帮你补一版:

  1. 适用于生产环境的 FastGPT Docker Compose 完整版
  2. Nginx + HTTPS + 域名绑定教程
  3. FastGPT 接入 OpenAI/DeepSeek/通义千问 的配置示例
目录结构
全文