2023年7月10日星期一

Docker搭建完全不需要api key的chatgpt镜像站,支持gpt3.5,无需魔法,支持自定义域名

 

特别鸣谢

有云转晴大佬


前提准备

1. vps

2.Cloudflare

3.一个域名

4. 使用到的项目


操作步骤


1. 登录VPS,安装docker


1) Ubuntu/Debian:

i)更新软件包列表

sudo apt-get update

ii)安装所需的软件包,以允许apt通过HTTPS使用存储库:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

iii)添加Docker的官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

iv)添加Docker的稳定存储库:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

v)更新软件包列表(包括Docker存储库

sudo apt update

vi)安装Docker引擎:

sudo apt install docker-ce docker-ce-cli containerd.io


vii)安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose


2) CentOS/Fedora:

sudo yum install -y yum-utils

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo    

sudo yum-config-manager --enable docker-ce-nightly

sudo yum install docker-ce docker-ce-cli containerd.io


2. 切换到root用户

sudo -i


3. 创建一个专门的目录,并进入目录

mkdir freegpt;cd freegpt


4. 新建一个docker compose 配置文件,并添加如下配置

vim docker-compose.yml

  1. version: '3.3'  # 这是一个Docker Compose文件的版本声明,它表明该文件符合Docker Compose文件格式版本3.3  
  2. services:  
  3.     freegpt-webui: #服务名,可以自定义  
  4.         container_name: freegpt-webui #容器名,可以自定义  
  5.         ports:  
  6.             - '1338:1338'   # 冒号:左边的1338可以改成任意vps上未使用过的端口,冒号右边是本docker镜像里的端口  
  7.         environment:  
  8.             - PUID=0    # 用户ID,在终端输入id可以查看当前用户的id  
  9.             - PGID=0    # 组ID同上  
  10.             - TZ=Asia/Shanghai  #时区,可以自定义  
  11.         restart: always    #开启自启动其他选项看以下备注  
  12.         image: ramonvc/freegpt-webui  
  13. version: '3.3'  # 这是一个Docker Compose文件的版本声明,它表明该文件符合Docker Compose文件格式版本3.3
    services:
    freegpt-webui: #服务名,可以自定义
    container_name: freegpt-webui #容器名,可以自定义
    ports:
    - '1338:1338' # 冒号:左边的1338可以改成任意vps上未使用过的端口,冒号右边是本docker镜像里的端口
    environment:
    - PUID=0 # 用户ID,在终端输入id可以查看当前用户的id
    - PGID=0 # 组ID同上
    - TZ=Asia/Shanghai #时区,可以自定义
    restart: always #开启自启动其他选项看以下备注
    image: ramonvc/freegpt-webui



5. 执行容器运行命令

docker-compose up -d #运行容器


6. 打开web页面使用

http://ip:1338


7. 绑定域名并加nginx代理


1) 绑定域名









2)安装nginx

Ubuntu或Debian:

运行以下命令更新软件包列表:

sudo apt update

sudo apt install nginx

CentOS或RHEL:

sudo yum install epel-release

sudo yum install nginx

ii) 修改配置文件

在Ubuntu上,配置文件路径为/etc/nginx/nginx.conf,在其他系统上可能会有所不同

vim /etc/nginx/nginx.conf

找到http{}这个配置框中的

# Virtual Host Configs

添加如下配置
  1. server {  
  2.     listen 80;  
  3.     server_name 你的域名;  
  4.   
  5.     location / {  
  6.         proxy_pass http://你的域名:1338;  
  7.         proxy_set_header Host $host;  
  8.         proxy_set_header X-Real-IP $remote_addr;  
  9.     }  
  10. }  

添加完成后,按下键盘ESC键

输入:wq保存

#检查Nginx配置是否正确,以确保没有语法错误。在终端中运行以下命令

sudo nginx -t




#重新加载Nginx配置,以使更改生效。在终端中运行以下命令:

sudo service nginx reload


这个时候,我们不需要加端口号,直接访问域名就可以了