This commit is contained in:
Archer
2023-08-09 20:00:27 +08:00
committed by GitHub
parent 657d0ad374
commit adabc14340
2 changed files with 61 additions and 260 deletions

View File

@@ -2,26 +2,24 @@
version: '3.3' version: '3.3'
services: services:
pg: pg:
# image: ankane/pgvector:v0.4.2 # dockerhub image: ankane/pgvector:v0.4.2 # git
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.4.2 # 阿里云 # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.4.2 # 阿里云
container_name: pg container_name: pg
restart: always restart: always
ports: # 生产环境建议不要暴露 ports: # 生产环境建议不要暴露
- 8100:5432 - 5432:5432
networks: networks:
- fastgpt - fastgpt
environment: environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- POSTGRES_USER=fastgpt - POSTGRES_USER=username
- POSTGRES_PASSWORD=1234 - POSTGRES_PASSWORD=password
- POSTGRES_DB=fastgpt - POSTGRES_DB=postgres
volumes: volumes:
# 刚创建的文件
- ./pg/init.sql:/docker-entrypoint-initdb.d/init.sh
- ./pg/data:/var/lib/postgresql/data - ./pg/data:/var/lib/postgresql/data
mongo: mongo:
# image: mongo:5.0.18 image: mongo:5.0.18
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
container_name: mongo container_name: mongo
restart: always restart: always
ports: # 生产环境建议不要暴露 ports: # 生产环境建议不要暴露
@@ -34,12 +32,10 @@ services:
- MONGO_INITDB_ROOT_PASSWORD=password - MONGO_INITDB_ROOT_PASSWORD=password
volumes: volumes:
- ./mongo/data:/data/db - ./mongo/data:/data/db
- ./mongo/logs:/var/log/mongodb
fastgpt: fastgpt:
container_name: fastgpt container_name: fastgpt
# image: c121914yu/fast-gpt:latest # docker hub # image: c121914yu/fast-gpt:latest # docker hub
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云
# network_mode: host #
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
@@ -48,117 +44,52 @@ services:
- mongo - mongo
- pg - pg
restart: always restart: always
environment: # 可选的变量,不需要的话需要去掉 environment:
- PORT=3000 # 运行的端口地址,如果不是 3000需要修改成实际地址。 # 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 - DB_MAX_LINK=5 # database max link
# proxy可选
- AXIOS_PROXY_HOST=127.0.0.1
- AXIOS_PROXY_PORT=7890
# 发送邮箱验证码配置。用的是QQ邮箱。参考 nodeMail 获取MAILE_CODE自行百度。
- MY_MAIL=54545@qq.com
- MAILE_CODE=1234
# 阿里短信服务(邮箱和短信至少二选一)
- aliAccessKeyId=xxxx
- aliAccessKeySecret=xxxx
- aliSignName=xxxxx
- aliTemplateCode=SMS_xxxx
# google V3 安全校验(可选)
- CLIENT_GOOGLE_VER_TOKEN=xxx
- SERVICE_GOOGLE_VER_TOKEN=xx
# token加密凭证随便填作为登录凭证
- TOKEN_KEY=any - TOKEN_KEY=any
# root key, 最高权限,可以内部接口互相调用
- ROOT_KEY=root_key - ROOT_KEY=root_key
# 和上方mongo镜像的username,password对应 # mongo 配置,不需要改
- MONGODB_URI=mongodb://username:password@mongo:27017/?authSource=admin - MONGODB_URI=mongodb://username:password@mongo:27017/?authSource=admin
- MONGODB_NAME=fastgpt - MONGODB_NAME=fastgpt
# pg配置.
- PG_HOST=pg - PG_HOST=pg
- PG_PORT=5432 - PG_PORT=5432
# 和上方PG镜像对应. - PG_USER=username
- PG_USER=fastgpt - PG_PASSWORD=password
- PG_PASSWORD=1234 - PG_DB_NAME=postgres
- PG_DB_NAME=fastgpt
# oneapi 配置 推荐使用 one-api 管理key
- ONEAPI_URL=https://xxxxx.cloud.sealos.io/v1
- ONEAPI_KEY=sk-xxxxxx
# openai 相关配置:使用了 oneapi 后,下面只需要填下 OPENAI_BASE_URL (国外可全忽略)
- OPENAIKEY=sk-xxxxx
- OPENAI_BASE_URL=https://api.openai.com/v1
- OPENAI_BASE_URL_AUTH=可选的安全凭证,会放到 header.auth 里
fastgpt-admin:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-admin:latest
container_name: fastgpt-admin
restart: always
ports:
- 3001:3001
networks:
- fastgpt
depends_on:
- mongo
- fastgpt
environment:
- MONGODB_URI=mongodb://username:password@mongo:27017/?authSource=admin
- MONGODB_NAME=fastgpt
- ADMIN_USER=username
- ADMIN_PASS=password
- ADMIN_SECRET=any
- PARENT_URL=http://fastgpt:3000
- PARENT_ROOT_KEY=root_key
keyadmin:
container_name: keyadmin
image: justsong/one-api
restart: always
ports:
- 3002:3000
environment:
- TZ=Asia/Shanghai
volumes:
- /keyadmin:/data
nginx: # 宝塔不需要额外装 nginx
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/nginx:alpine3.17
# image: nginx:alpine3.17
container_name: nginx
restart: always
network_mode: host
volumes:
# 刚创建的文件
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/logs:/var/log/nginx
# https证书没有的话不填对应的nginx.conf也要修改
- ./nginx/ssl/docgpt.key:/ssl/docgpt.key
- ./nginx/ssl/docgpt.pem:/ssl/docgpt.pem
networks: networks:
fastgpt: fastgpt:
# host 版本, 不推荐,推荐直接用上面的,用个 BASE_URL 中转
# host 版本, 不推荐。
# version: '3.3' # version: '3.3'
# services: # services:
# pg: # pg:
# # image: ankane/pgvector:v0.4.2 # dockerhub # image: ankane/pgvector:v0.4.2 # dockerhub
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.4.2 # 阿里云 # # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.4.2 # 阿里云
# container_name: pg # container_name: pg
# restart: always # restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
# - 8100:5432 # - 5432:5432
# networks:
# - fastgpt
# environment: # environment:
# # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 # # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
# - POSTGRES_USER=fastgpt # - POSTGRES_USER=username
# - POSTGRES_PASSWORD=1234 # - POSTGRES_PASSWORD=password
# - POSTGRES_DB=fastgpt # - POSTGRES_DB=postgres
# volumes: # volumes:
# # 刚创建的文件
# - ./pg/init.sql:/docker-entrypoint-initdb.d/init.sh
# - ./pg/data:/var/lib/postgresql/data # - ./pg/data:/var/lib/postgresql/data
# mongo: # mongo:
# # image: mongo:5.0.18 # image: mongo:5.0.18
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云 # # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
# container_name: mongo # container_name: mongo
# restart: always # restart: always
# ports: # 生产环境建议不要暴露 # ports: # 生产环境建议不要暴露
# - 27017:27017 # - 27017:27017
# networks:
# - fastgpt
# environment: # environment:
# # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果 # # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
# - MONGO_INITDB_ROOT_USERNAME=username # - MONGO_INITDB_ROOT_USERNAME=username
@@ -173,84 +104,23 @@ networks:
# network_mode: host # network_mode: host
# restart: always # restart: always
# container_name: fastgpt # container_name: fastgpt
# environment: # 可选的变量,不需要的话需要去掉 # environment:
# - PORT=3000 # 运行的端口地址,如果不是 3000需要修改成实际地址。 # # root 密码,用户名为: root
# - DB_MAX_LINK=15 # database max link # - DEFAULT_ROOT_PSW=1234
# # proxy可选 # # 中转地址,如果是用官方号,不需要管
# - AXIOS_PROXY_HOST=127.0.0.1 # - OPENAI_BASE_URL=https://api.openai.com/v1
# - AXIOS_PROXY_PORT=7890 # - CHAT_API_KEY=sk-xxxx
# # 发送邮箱验证码配置。用的是QQ邮箱。参考 nodeMail 获取MAILE_CODE自行百度。 # - DB_MAX_LINK=5 # database max link
# - MY_MAIL=54545@qq.com
# - MAILE_CODE=1234
# # 阿里短信服务(邮箱和短信至少二选一)
# - aliAccessKeyId=xxxx
# - aliAccessKeySecret=xxxx
# - aliSignName=xxxxx
# - aliTemplateCode=SMS_xxxx
# # google V3 安全校验(可选)
# - CLIENT_GOOGLE_VER_TOKEN=xxx
# - SERVICE_GOOGLE_VER_TOKEN=xx
# # token加密凭证随便填作为登录凭证 # # token加密凭证随便填作为登录凭证
# - TOKEN_KEY=xxxx # - TOKEN_KEY=any
# # root key, 最高权限,可以内部接口互相调用 # # root key, 最高权限,可以内部接口互相调用
# - ROOT_KEY=xxx # - ROOT_KEY=root_key
# # 和上方mongo镜像的username,password对应 # # mongo 配置,不需要改
# - MONGODB_URI=mongodb://username:password@0.0.0.0:27017/?authSource=admin # - MONGODB_URI=mongodb://username:password@0.0.0.0:27017/?authSource=admin
# - MONGODB_NAME=fastgpt # - MONGODB_NAME=fastgpt
# # pg 配置
# - PG_HOST=0.0.0.0 # - PG_HOST=0.0.0.0
# - PG_PORT=8100 # - PG_PORT=5432
# # 和上方PG镜像对应. # - PG_USER=username
# - PG_USER=fastgpt # - PG_PASSWORD=password
# - PG_PASSWORD=1234 # - PG_DB_NAME=postgres
# - PG_DB_NAME=fastgpt
# # oneapi 配置 推荐使用 one-api 管理key
# - ONEAPI_URL=https://xxxxx.cloud.sealos.io/v1
# - ONEAPI_KEY=sk-xxxxx
# # openai 相关配置:使用了 oneapi 后,下面只需要填下 OPENAI_BASE_URL (国外可全忽略)
# - OPENAIKEY=sk-xxxxx
# - OPENAI_BASE_URL=https://api.openai.com/v1
# - OPENAI_BASE_URL_AUTH=可选的安全凭证,会放到 header.auth 里
# fastgpt-admin:
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-admin:latest
# container_name: fastgpt-admin
# restart: always
# ports:
# - 3001:3001
# networks:
# - fastgpt
# depends_on:
# - mongo
# - fastgpt
# environment:
# - MONGODB_URI=mongodb://username:password@mongo:27017/?authSource=admin
# - MONGODB_NAME=fastgpt
# - ADMIN_USER=username
# - ADMIN_PASS=password
# - ADMIN_SECRET=any
# - PARENT_URL=http://fastgpt:3000
# - PARENT_ROOT_KEY=root_key
# key-admin:
# container_name: key-admin
# image: justsong/one-api
# restart: always
# ports:
# - 3002:3000
# environment:
# - TZ=Asia/Shanghai
# volumes:
# - /home/ubuntu/data/one-api:/data
# nginx: # 宝塔不需要额外装 nginx
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/nginx:alpine3.17
# # image: nginx:alpine3.17
# container_name: nginx
# restart: always
# network_mode: host
# volumes:
# # 刚创建的文件
# - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
# - ./nginx/logs:/var/log/nginx
# # https证书没有的话不填对应的nginx.conf也要修改
# - ./nginx/ssl/docgpt.key:/ssl/docgpt.key
# - ./nginx/ssl/docgpt.pem:/ssl/docgpt.pem
# networks:
# fastgpt:

View File

@@ -1,69 +0,0 @@
user nginx;
worker_processes auto;
worker_rlimit_nofile 51200;
events {
worker_connections 1024;
}
http {
resolver 8.8.8.8;
proxy_ssl_server_name on;
access_log off;
server_names_hash_bucket_size 512;
client_header_buffer_size 64k;
large_client_header_buffers 4 64k;
client_max_body_size 50M;
proxy_connect_timeout 240s;
proxy_read_timeout 240s;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_vary on;
gzip_types text/plain application/x-javascript text/css application/javascript application/json application/xml;
gzip_disable "MSIE [1-6]\.";
open_file_cache max=1000 inactive=1d;
open_file_cache_valid 30s;
open_file_cache_min_uses 8;
open_file_cache_errors off;
server {
listen 443 ssl;
server_name docgpt.ahapocket.cn;
ssl_certificate /ssl/docgpt.pem;
ssl_certificate_key /ssl/docgpt.key;
ssl_session_timeout 5m;
location / {
proxy_pass http://localhost: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;
}
}
server {
listen 80;
server_name docgpt.ahapocket.cn;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 3000;
server_name 120.0.0.0;
location / {
proxy_pass http://localhost: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;
}
}
}