mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 05:12:39 +00:00
178 lines
5.6 KiB
Markdown
178 lines
5.6 KiB
Markdown
# docker-compose 快速部署
|
||
|
||
## 一、预先准备
|
||
|
||
### 准备好代理环境(国外服务器可忽略)
|
||
|
||
确保可访问到 OpenAI,方案可参考:[sealos nginx 中转](../proxy/sealos)
|
||
|
||
### OneAPI (可选,需要多模型和 key 轮询时使用)
|
||
|
||
推荐使用 [one-api](https://github.com/songquanpeng/one-api) 项目来管理 key 池,兼容 openai 、微软和国内主流模型等。
|
||
|
||
部署可以看该项目的 [README.md](https://github.com/songquanpeng/one-api),也可以看 [在 Sealos 1 分钟部署 one-api](../oneapi)
|
||
|
||
## 二、安装 docker 和 docker-compose
|
||
|
||
这个不同系统略有区别,百度安装下。验证安装成功后进行下一步。下面给出 centos 一个例子:
|
||
|
||
```bash
|
||
# 安装docker
|
||
curl -L https://get.daocloud.io/docker | sh
|
||
sudo systemctl start docker
|
||
# 安装 docker-compose
|
||
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
|
||
sudo chmod +x /usr/local/bin/docker-compose
|
||
# 验证安装
|
||
docker -v
|
||
docker-compose -v
|
||
```
|
||
|
||
## 三、创建 docker-compose.yml 文件
|
||
|
||
随便找一个目录,创建一个 `docker-compose.yml` 文件,粘贴下面的内容。只需要改 fastgpt 容器的 3 个参数即可启动。
|
||
|
||
```yml
|
||
# 非 host 版本, 不使用本机代理
|
||
version: '3.3'
|
||
services:
|
||
pg:
|
||
image: ghcr.io/c121914yu/fastgpt:latest # git
|
||
# 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: c121914yu/fast-gpt:latest # docker hub
|
||
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云
|
||
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 配置,不需要改
|
||
- MONGODB_URI=mongodb://username:password@mongo:27017/?authSource=admin
|
||
- MONGODB_NAME=fastgpt
|
||
# pg配置.
|
||
- PG_HOST=pg
|
||
- PG_PORT=5432
|
||
- PG_USER=username
|
||
- PG_PASSWORD=password
|
||
- PG_DB_NAME=postgres
|
||
|
||
networks:
|
||
fastgpt:
|
||
```
|
||
|
||
```yml
|
||
# host 版本, 不推荐。
|
||
version: '3.3'
|
||
services:
|
||
pg:
|
||
image: ankane/pgvector:v0.4.2 # dockerhub
|
||
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.4.2 # 阿里云
|
||
container_name: pg
|
||
restart: always
|
||
ports: # 生产环境建议不要暴露
|
||
- 5432:5432
|
||
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
|
||
environment:
|
||
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
|
||
- MONGO_INITDB_ROOT_USERNAME=username
|
||
- MONGO_INITDB_ROOT_PASSWORD=password
|
||
volumes:
|
||
- ./mongo/data:/data/db
|
||
- ./mongo/logs:/var/log/mongodb
|
||
fastgpt:
|
||
# image: ghcr.io/c121914yu/fastgpt:latest # github
|
||
# image: c121914yu/fast-gpt:latest # docker hub
|
||
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云
|
||
network_mode: host
|
||
restart: always
|
||
container_name: fastgpt
|
||
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加密凭证(随便填,作为登录凭证)
|
||
- TOKEN_KEY=any
|
||
# root key, 最高权限,可以内部接口互相调用
|
||
- ROOT_KEY=root_key
|
||
# mongo 配置,不需要改
|
||
- MONGODB_URI=mongodb://username:password@0.0.0.0:27017/?authSource=admin
|
||
- MONGODB_NAME=fastgpt
|
||
# pg 配置
|
||
- PG_HOST=0.0.0.0
|
||
- PG_PORT=5432
|
||
- PG_USER=username
|
||
- PG_PASSWORD=password
|
||
- PG_DB_NAME=postgres
|
||
```
|
||
|
||
## 四、运行 docker-compose
|
||
|
||
```bash
|
||
# 在 docker-compose.yml 同级目录下执行
|
||
docker-compose up -d
|
||
```
|
||
|
||
## 五、访问
|
||
|
||
如果需要域名访问,自行安装 Nginx。目前可以通过: `ip:3000` 直接访问(注意防火墙)。登录用户名为 root,密码为刚刚环境变量里设置的 `DEFAULT_ROOT_PSW`
|
||
|
||
## 一些问题
|