本人使用Dcoker来搭建ChatGPT,以保证在国内不用翻墙就能连接ChatGPT,来自于GitHub的chanzhaoyu的项目 ChatGPT-web以及ChatGPT-next-web
bashcurl -fsSL https://get.docker.com -o get-docker.sh&&sudo sh get-docker.sh
bashcurl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-aarch64 | sudo tee /usr/local/bin/docker-compose >/dev/null
bashcurl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-x86_64 | sudo tee /usr/local/bin/docker-compose >/dev/null
bashsudo chmod +x /usr/local/bin/docker-compose
bashdocker -v && docker-compose -v
bashmkdir chatgpt-web && cd ~/chatgpt-web && nano docker-compose.yml
yamlversion: '3'
services:
chatgpt-web:
image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可
ports:
- 3002:3002
environment:
OPENAI_API_KEY: sk-xxx #openai的API
OPENAI_API_BASE_URL: xxx # API接口地址,可选,设置 OPENAI_API_KEY 时可用
OPENAI_API_MODEL: xxx # API模型,可选,设置 OPENAI_API_KEY 时可用,https://platform.openai.com/docs/models,包括gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301, text-davinci-003, text-davinci-002, code-davinci-002模型。
AUTH_SECRET_KEY: xxx # 访问权限密钥,可选
npm:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 不建议修改端口
- '81:81' # 可以把冒号左边的 81 端口修改成你服务器上没有被占用的端口
- '443:443' # 不建议修改端口
volumes:
- ./data:/data # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 data 目录,用于存放数据,如果不存在的话,会自动创建
- ./letsencrypt:/etc/letsencrypt # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 letsencrypt 目录,用于存放证书,如果不存在的话,会自动创建
OPENAI_API_BASE_URL
可选,设置 OPENAI_API_KEY
时可用OPENAI_API_MODEL
可选,设置 OPENAI_API_KEY
时可用配置二,填写yaml配置文件,并根据提示修改参数
yamlversion: "3.8"
services:
chatgpt-next-web:
image: yidadaa/chatgpt-next-web
ports:
- "3000:3000"
environment:
- OPENAI_API_KEY=sk-xxx #openai的API
- CODE=XXX #设置网页密码,防止被滥用。
# - PROXY_URL=http://localhost:7890
restart: unless-stopped
npm:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 不建议修改端口
- '81:81' # 可以把冒号左边的 81 端口修改成你服务器上没有被占用的端口
- '443:443' # 不建议修改端口
volumes:
- ./data:/data # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 data 目录,用于存放数据,如果不存在的话,会自动创建
- ./letsencrypt:/etc/letsencrypt # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 letsencrypt 目录,用于存放证书,如果不存在的话,会自动创建
docker-compose up -d
[email protected]
密码:changeme
本文作者:我本无罪
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!