Files
FastGPT/docSite/content/docs/installation/docker.md
2023-08-26 22:31:21 +08:00

5.5 KiB
Raw Blame History

title, description, icon, draft, toc, weight
title description icon draft toc weight
Docker Compose 快速部署 使用 Docker Compose 快速部署 FastGPT false true 720

准备条件

1. 准备好代理环境(国外服务器可忽略)

确保可以访问 OpenAI具体方案可以参考Nginx 中转

2. 多模型支持

推荐使用 one-api 项目来管理模型池,兼容 OpenAI 、Azure 和国内主流模型等。

具体部署方法可参考该项目的 README,也可以直接通过以下按钮一键部署:

安装 Docker 和 docker-compose

{{< tabs tabTotal="3" >}} {{< tab tabName="Linux" >}} {{< markdownify >}}

# 安装 Docker
curl -sSL https://get.daocloud.io/docker | sh
systemctl enable --now docker
# 安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 验证安装
docker -v
docker-compose -v

{{< /markdownify >}} {{< /tab >}} {{< tab tabName="MacOS" >}} {{< markdownify >}} 推荐直接使用 Orbstack。可直接通过 Homebrew 来安装:

brew install orbstack

或者直接下载安装包进行安装。 {{< /markdownify >}} {{< /tab >}} {{< tab tabName="Windows" >}} {{< markdownify >}}

我们建议将源代码和其他数据绑定到 Linux 容器中时,将其存储在 Linux 文件系统中,而不是 Windows 文件系统中。

可以选择直接使用 WSL 2 后端在 Windows 中安装 Docker Desktop

也可以直接在 WSL 2 中安装命令行版本的 Docker

{{< /markdownify >}} {{< /tab >}} {{< /tabs >}}

创建 docker-compose.yml 文件

先创建一个目录(例如 fastgpt并进入该目录创建一个 docker-compose.yml 文件:

mkdir fastgpt
cd fastgpt
touch docker-compose.yml

粘贴下面的内容,仅需把 CHAT_API_KEY 修改成 openai key 即可。如果需要使用中转或 oneapi 还需要修改 OPENAI_BASE_URL:

# 非 host 版本, 不使用本机代理
version: '3.3'
services:
  pg:
    image: ankane/pgvector:v0.4.2 # docker
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.4.2 # 阿里云
    container_name: pg
    restart: always
    ports: # 生产环境建议不要暴露
      - 5432:5432
    networks:
      - fastgpt
    environment:
      # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
      - POSTGRES_USER=username
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=postgres
    volumes:
      - ./pg/data:/var/lib/postgresql/data
  mongo:
    image: mongo:5.0.18
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
    container_name: mongo
    restart: always
    ports: # 生产环境建议不要暴露
      - 27017:27017
    networks:
      - fastgpt
    environment:
      # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
      - MONGO_INITDB_ROOT_USERNAME=username
      - MONGO_INITDB_ROOT_PASSWORD=password
    volumes:
      - ./mongo/data:/data/db
  fastgpt:
    container_name: fastgpt
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云
    image: ghcr.io/labring/fastgpt:latest # github
    ports:
      - 3000:3000
    networks:
      - fastgpt
    depends_on:
      - mongo
      - pg
    restart: always
    environment:
      # root 密码,用户名为: root
      - DEFAULT_ROOT_PSW=1234
      # 中转地址,如果是用官方号,不需要管
      - OPENAI_BASE_URL=https://api.openai.com/v1
      - CHAT_API_KEY=sk-xxxx
      - DB_MAX_LINK=5 # database max link
      - TOKEN_KEY=any
      - ROOT_KEY=root_key
      # mongo 配置,不需要改. 如果连不上,可能需要去掉 ?authSource=admin
      - MONGODB_URI=mongodb://username:password@mongo:27017/fastgpt?authSource=admin
      # pg配置. 不需要改
      - PG_URL=postgresql://username:password@pg:5432/postgres
networks:
  fastgpt:

启动容器

# 在 docker-compose.yml 同级目录下执行
docker-compose up -d

访问 FastGPT

目前可以通过 ip:3000 直接访问(注意防火墙)。登录用户名为 root,密码为刚刚环境变量里设置的 DEFAULT_ROOT_PSW

如果需要域名访问,请自行安装并配置 Nginx。

QA

如何更新?

执行 docker-compose up -d 会自动拉取最新镜像,一般情况下不需要执行额外操作。

如何自定义配置文件?

需要在 docker-compose.yml 同级目录创建一个 config.json 文件,内容参考: 配置详解

然后修改 docker-compose.yml 中的 fastgpt 容器内容,增加挂载选项即可:

fastgpt:
  container_name: fastgpt
    image: ghcr.io/labring/fastgpt:latest # github
  ports:
    - 3000:3000
  networks:
    - fastgpt
  depends_on:
    - mongo
    - pg
  restart: always
  environment:
    ...
    - DEFAULT_ROOT_PSW=1234
    ...
  volumes:
    - ./config.json:/app/data/config.json

参考配置详解