引言

本文教你如何快速搭建基于OpenAI的ChatGPT。OpenAI API是OpenAI提供的一种云端服务,允许开发人员使用OpenAI的人工智能模型,以便执行自然语言处理和代码生成等任务。OpenAI API提供了一系列模型,这些模型的能力不同,适合不同的任务,并且还可以对自定义模型进行微调。

项目地址:https://github.com/Chanzhaoyu/chatgpt-web
Demo:https://chatweb.zmyos.com/

环境准备

1、购买 VPS 一台,推荐 w3d.host(专属七四折优惠码:ZMYOS w3d.host的IP纯净伪家宽,9929回国线路优质)
评测地址:https://blog.zmyos.com/w3d-lax9929.html

2、域名一个,并做好解析,解析 IP 地址为 VPS 的 IP地址

搭建步骤

1、安装 Docker 及 Docker-compose

  • 安装Docker
#更新、安装必备软件

apt-get update && apt-get install -y wget vim

#国外机:

curl -sSL https://get.docker.com/ | sh

#国内机:

curl -sSL https://get.daocloud.io/docker | sh

#开机自动启动

systemctl start docker

systemctl enable docker
  • 安装 Docker-compose
#国外机:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
#国内机
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

2、安装 Nginx Proxy Manager

Nginx Proxy Manager 是一款基于Docker 的反代神器,强烈推荐使用。

  • 创建目录
mkdir -p data/docker_data/npm
cd data/docker_data/npm
  • 创建 docker-compose.yml 文件
nano docker-compose.yml 
  • 在文件中填入以下内容,然后 Ctrl+X 保存,按 Y 退出
version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql
  • 运行
docker-compose up -d

通过 IP:81 来访问 Nginx Proxy Manager ,具体的反代操作我们接下来会讲,请先记住初始账户和密码

Email:    admin@example.com
Password:  changeme

3、安装 ChatGPT-web

创建目录

mkdir -p data/docker_data/chatgpt
cd data/docker_data/chatgpt

创建 docker-compose.yml 文件

nano docker-compose.yml

在文件中填入以下内容,然后 Ctrl+X 保存,按 Y 退出

这里的API KEY,自行申请,或者有某鱼购买账号获取
本站提供的免费API-Key如下,为避免滥用,回复可见

{hide}

本站提供的API,请勿滥用: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
不保证使用期限,且用切珍惜!
{/hide}
version: '3'

services:
  app:
    image: chenzhaoyu94/chatgpt-web:main
    ports:
      - 3002:3002
    environment:
      OPENAI_API_KEY: xxxxxx

创建完成后,运行

docker-compose up -d

然后就可以通过 IP:3002 来访问 ChatGPT

image-20230220093505228

4、反代 ChatGPT

前面是用 IP:3002 来访问ChatGPT,我们可以通过反代的方式实现域名访问,并配置 SSL 证书,就像前面的演示网址一样。接下来就来进行反代操作,用到第二步中搭建的 Nginx Proxy Manager

用 IP:81 打开 Nginx Proxy Manager,第一次登录以后需要修改用户和密码,请自行配置

下面介绍反代的操作

打开 Proxy Hosts -> 点击右上角 Add Proxy Hosts -> 按照图中进行配置 -> 颁发 SSL 证书并开启强制 Https 访问 -> 点击 Save 保存

image-20230220094112997

image-20230220094203594

至此,就完成反代的工作,接下来就可以用刚才解析的域名访问 ChatGPT 了。

Enjoy~
分类: 实用教程 标签: 教程DockerChatGPTdocker-compose详细步骤

评论

全部评论 147

  1. 大师兄
    大师兄
    Google Chrome Windows 10
    后期修改KEY具体该怎么操作?
    1. Do Do
      Do Do
      Google Chrome Windows 10
      @大师兄在docker-compose中修改API-KEY,然后重新运行docker-compose
    2. Titan
      Titan
      Google Chrome Windows 10
    3. A A A
      A A A
      Google Chrome Windows 10
      @大师兄回复可见。。
  2. g6162227
    g6162227
    Google Chrome Windows 10
    快来学一学
  3. chat233
    chat233
    Safari MacOS
    楼下18cm
  4. 大哥大
    大哥大
    Safari MacOS
    过来学习一个
  5. 对对对
    对对对
    Google Chrome Windows 10
    在docker-compose中修改API-KEY,然后重新运行docker-compos
  6. abcd
    abcd
    Google Chrome Windows 10
    学习一个
  7. enden
    enden
    Google Chrome Windows 10
    过来学习一个
  8. 摩卡
    摩卡
    Google Chrome Windows 10
    感觉是好东西,我来看看
  9. 123
    123
    Google Chrome Windows 10
    先学习一下
  10. 暖树
    暖树
    Google Chrome Windows 10
    用LINUX系统还是?
    1. Do Do
      Do Do
      Google Chrome Windows 10
      @暖树Linux内核,Debian 系统
  11. dw2
    dw2
    Google Chrome Windows 10
    过来学习一个
  12. 暖树
    暖树
    Google Chrome Windows 10
    然后就可以通过 IP:3002 来访问 ChatGPT

    HTTP ERROR 502

    出错,怎么办

  13. likayo
    likayo
    Google Chrome Windows 10
    过来学习一个
  14. 桑
    Google Chrome Windows 10
    学习一个
  15. 暖树
    暖树
    Google Chrome Windows 10
    有安装成功的吗?
  16. 123
    123
    Google Chrome Windows 10
    kankan
  17. test
    test
    Google Chrome Windows 10
    厉害厉害厉害
  18. acd
    acd
    Google Chrome Android
    如果我想修改一些代码,请问拉取的源码在哪个文件夹啊
  19. 二师兄
    二师兄
    Google Chrome Windows 10
    看看怎么弄
  20. Ynbn
    Ynbn
    Google Chrome Windows 10
    看看怎么安装部署的。
  21. 23
    23
    Google Chrome Windows 10
    嘎嘎嘎
  22. afadsf
    afadsf
    Google Chrome Windows 10
    如果我想修改一些代码,请问拉取的源码在哪个文件夹啊
  23. 111
    111
    Google Chrome Windows 10
    竟然需要回复可见....
  24. 090kj
    090kj
    Google Chrome Windows 10
    ::(哈哈)
  25. 65
    65
    Google Chrome Windows 10
    lih
  26. 快来学一学
    快来学一学
    Google Chrome Windows 10
    快来学一快来学一学
  27. vincent
    vincent
    Google Chrome Windows 10
    楼上18cm
  28. 夏日
    夏日
    FireFox Windows 10
    可以可以
  29. 1234589
    1234589
    Google Chrome Windows 10
    那就再看看吧
  30. 运工具
    运工具
    Google Chrome Windows 10
    再学习一次
  31. 怒IG的烦恼
    怒IG的烦恼
    Google Chrome Windows 10
    再来学习一下,感谢分享
  32. magic3278
    magic3278
    Google Chrome Windows 10
    学习一下啊
  33. magic3278
    magic3278
    Google Chrome Windows 10
    过来学下一下!
  34. 妮妮
    妮妮
    Google Chrome Windows 10
    回复?
  35. changeme
    changeme
    Google Chrome Windows 7
    changeme
  36. tao
    tao
    Google Chrome Windows 10
    123
  37. tao
    tao
    Google Chrome Windows 10
    来学习一下
  38. ggy
    ggy
    Google Chrome Windows 10
    来学习一下
  39. chatgpt
    chatgpt
    Google Chrome Windows 10
    码住
  40. kkk
    kkk
    Google Chrome Windows 10
    学习一个
  41. xicijiese
    xicijiese
    Google Chrome Windows 10
    感谢楼主分享
  42. xiaijice
    xiaijice
    Google Chrome Windows 10
    过来学习一下!!
  43. 小白魔法
    小白魔法
    Google Chrome Windows 10
    感谢大佬支持~已经可以正常使用了
  44. 断水流
    断水流
    Google Chrome Windows 10
    非常感谢
  45. 的发生大事
    的发生大事
    Google Chrome Windows 10
    回复一下看看
  46. sam
    sam
    Google Chrome Windows 10
    回复一下看看
  47. Demon
    Demon
    Google Chrome Windows 10
    共享分享
  48. marfef
    marfef
    Google Chrome MacOS
    ::(酷)感谢分享
  49. 围棋
    围棋
    Google Chrome MacOS
    没有看到在哪一步拉取源码
  50. nagaki
    nagaki
    Google Chrome Windows 10
    kank
  51. 黑八
    黑八
    Google Chrome Android
    好东西,研究研究
  52. 测试
    测试
    Google Chrome Windows 10
    如何设置账号密码访问
  53. 南猫
    南猫
    Google Chrome Windows 10
    这个好啊 怎么搭建的 有没有成功的
  54. 南猫
    南猫
    Google Chrome Windows 10
    6666这个怎么操作的
  55. 小白
    小白
    Google Chrome Windows 10
    学习一下
  56. xiaobai
    xiaobai
    Google Chrome Windows 10
    快来学一学快来学一学
  57. 二师弟
    二师弟
    Google Chrome Windows 10
    特地回复,看看大神show
  58. znshen
    znshen
    Google Chrome Linux
    学习一下
  59. znshen
    znshen
    Google Chrome Linux
    认真学习一下
  60. 三
    Google Chrome Windows 10
    博主您好!有个问题困扰到我了,请您解答一下,就是我已经搭建了,但是我用我的IP:81,我的IP:3002进去的时候显示网页无法正常运行,用我的IP:80网页反馈回来Congratulations!,请问我这个是因为什么问题导致的?也是按照这个教程去弄的
  61. dawfawf
    dawfawf
    Google Chrome Windows 10
    666
  62. san
    san
    Google Chrome Windows 10
    请问一下~我打上去域名了 为什么网站进不去~就算ping也是只能ping到一条了,然后就超时了
  63. little
    little
    Google Chrome MacOS
    牛逼,学习学。
  64. little
    little
    Google Chrome MacOS
    回复了,怎么还不行呢?
  65. swimly
    swimly
    Google Chrome Windows 10
    学习
  66. qweqwe
    qweqwe
    Google Chrome MacOS
    qwe
  67. 1
    1
    Google Chrome Windows 10
    学习学习
  68. tiger
    tiger
    Google Chrome Windows 10
    学习了 大佬
  69. tiger
    tiger
    Google Chrome Windows 10
    过来学习一下,厉害!
  70. 11
    11
    Google Chrome Windows 10
    谢谢分享 看看啊
  71. 1231
    1231
    Google Chrome Windows 10
    左下角哪个在哪里修改
  72. 那么大的小吃
    那么大的小吃
    Google Chrome Windows 10
    感谢分享 博主好人::(吐舌)
  73. 卧槽牛啊牛啊
    卧槽牛啊牛啊
    FireFox Windows 10
    卧槽牛啊牛啊
  74. 猫熊
    猫熊
    Google Chrome Windows 10
    士大夫但是
  75. 大哥的小迷妹
    大哥的小迷妹
    Google Chrome Windows 10
    厉害厉害
  76. 狂笑一君
    狂笑一君
    QQ Browser Windows 10
    正在部署,感谢分享
  77. 狂笑一君
    狂笑一君
    QQ Browser Windows 10
    谢谢教程!
  78. 6666
    6666
    Google Chrome MacOS
    大佬牛逼!
  79. dalao
    dalao
    Google Chrome MacOS
    kankana
  80. HAH
    HAH
    Google Chrome Windows 10
    BUCUOBUCUO
  81. fdgd
    fdgd
    Google Chrome Windows 10
    快来学一学
  82. uuiooio
    uuiooio
    Google Chrome Windows 10
    key key key
  83. kkkkk
    kkkkk
    Google Chrome Windows 10
    为啥回复不了啊
  84. alexnhe
    alexnhe
    Safari MacOS
    好详细,感谢
  85. test
    test
    Google Chrome Windows 10
    后期修改KEY具体该怎么操作
  86. MK
    MK
    Google Chrome Windows 10
    太需要这篇文章的信息了,相当感谢!!!!!!!!!!
  87. 小师弟
    小师弟
    Google Chrome Windows 10
    回复可见、这嘎嘎啊
  88. 小哥
    小哥
    Google Chrome MacOS
    可以的,学习一下
  89. 为人人
    为人人
    Google Chrome MacOS
    按照教程来的 ip:81 和3002都访问不了
  90. Ly
    Ly
    Google Chrome Windows 10
    谢谢,很有参考价值
  91. 1112343
    1112343
    Google Chrome Windows 10
    kankankankanknakan
  92. 众
    Google Chrome Windows 10
    辛苦了
  93. www
    www
    Google Chrome Windows 10
    www
  94. ttttt
    ttttt
    Google Chrome Windows 10
    ttt
  95. tomm
    tomm
    Google Chrome Windows 10
    学习下下
  96. 111
    111
    Google Chrome Windows 10
    111::(哈哈)
  97. 学习
    学习
    Google Chrome Windows 10
    学习
  98. laowang
    laowang
    Google Chrome Windows 10

    Email: admin@example.com
    Password: changeme
    Nginx登陆失败,提示Bad Gateway

    1. laowang
      laowang
      Google Chrome Windows 10
      @laowang自问自答,重启一下容器就好了
      1. xigua
        xigua
        Google Chrome Windows 10
        @laowang老哥你什么环境啊,我重启了容器还是提示Bad Gateway
        1. xigua
          xigua
          Google Chrome Windows 10
          @xiguadocker
        2. eric
          eric
          Google Chrome Windows 10
          @xigua我也是重启后,还是提示 Bad Gateway,后来解决了吗
  99. laowang
    laowang
    Google Chrome Windows 10
    用docker安装完了,去哪里修改index.html文件啊?
  100. 火星人
    火星人
    Google Chrome Windows 10
    看看楼长这边还有key可以捡漏么
  101. 好人
    好人
    Google Chrome MacOS
    嗯,恢复课件
  102. 测试一下
    测试一下
    Google Chrome MacOS
    回复可见...
  103. 瞌睡兮兮
    瞌睡兮兮
    Google Chrome Windows 10
    学习
  104. 小白菜
    小白菜
    Google Chrome Windows 10
    学习下怎么用
  105. 搭建
    搭建
    Google Chrome MacOS
    回复看看能正常搭建不
  106. 秋天
    秋天
    Google Chrome Windows 10
    学习
  107. 123法大大
    123法大大
    Google Chrome MacOS
    申的
  108. hqyz
    hqyz
    Google Chrome Windows 10
    key
  109. 老蛇皮
    老蛇皮
    Google Chrome Windows 10
    11111
  110. 1255
    1255
    Google Chrome Windows 10
    真的是泰裤辣
  111. 啊啊啊
    啊啊啊
    Google Chrome Windows 10
    看看啊啊啊啊啊啊
  112. k
    k
    Google Chrome Windows 10
    niubi
  113. key
    key
    Google Chrome Windows 10
    1111
  114. 波少
    波少
    Google Chrome Windows 10
    能否出本地搭建的教程啊,我是小白。
  115. 波少
    波少
    Google Chrome Windows 10
    改为本地使用如何操作,有没有详细点的
  116. gege
    gege
    Google Chrome Windows 10
    nano docker-compose.yml
  117. dasd
    dasd
    Google Chrome Windows 10
    nano docker-compose.ymlnano docker-compose.ymlnano docker-compose.yml
  118. ssdad
    ssdad
    Google Chrome Windows 10
    nano docker-compose.ymlnano docker-compose.yml
  119. sdad
    sdad
    Google Chrome Windows 10
    smqk a a 什么情况啊
  120. dsadas
    dsadas
    Google Chrome Windows 10

    version: "3"
    services:
    app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
    # These ports are in format :
    - '80:80' # Public HTTP Port
    - '443:443' # Public HTTPS Port
    - '81:81' # Admin Web Port
    # Add any other Stream port you want to expose
    # - '21:21' # FTP
    environment:
    DB_MYSQL_HOST: "db"
    DB_MYSQL_PORT: 3306
    DB_MYSQL_USER: "npm"
    DB_MYSQL_PASSWORD: "npm"
    DB_MYSQL_NAME: "npm"
    # Uncomment this if IPv6 is not enabled on your host
    # DISABLE_IPV6: 'true'
    volumes:
    - ./data:/data
    - ./letsencrypt:/etc/letsencrypt
    depends_on:
    - db

    db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
    MYSQL_ROOT_PASSWORD: 'npm'
    MYSQL_DATABASE: 'npm'
    MYSQL_USER: 'npm'
    MYSQL_PASSWORD: 'npm'
    volumes:
    - ./data/mysql:/var/lib/mysql

  121. dike3129
    dike3129
    Google Chrome Windows 10
    后期 怎么操作
  122. dike3120
    dike3120
    Google Chrome Windows 10
    我想看隐藏内容
  123. carolboy
    carolboy
    Google Chrome Windows 10
    测试看看么
  124. maven
    maven
    Google Chrome Windows 10
    过来学习学习
  125. mcool
    mcool
    Google Chrome Windows 10
    非常有用,感谢啊::(真棒)
  126. zcl
    zcl
    Google Chrome MacOS
    没秘钥
  127. haha
    haha
    Google Chrome Windows 10
    回复了111
  128. skk
    skk
    Google Chrome Windows 10
    Nginx Proxy Manager访问提示bad gatway是什么情况?
  129. hello
    hello
    Google Chrome Windows 10
    试一试
  130. shizhekankan
    shizhekankan
    Google Chrome Windows 10
    试试看
  131. s
    s
    Google Chrome Windows 10

    1
    ::(哈哈)

  132. yyui
    yyui
    Google Chrome Windows 10
    6666666
  133. 123
    123
    Google Chrome Windows 10
    试试
  134. symbol
    symbol
    Google Chrome Windows 10
    hh
  135. chat6666666
    chat6666666
    Google Chrome Windows 10
    chat6666666
  136. cato
    cato
    Google Chrome Windows 10

    docker-compose up -d
    后报错:
    root@yisu-64ce6cfecff83:/data/docker_data/npm# docker-compose up -d
    /usr/local/bin/docker-compose: line 1: html: No such file or directory
    /usr/local/bin/docker-compose: line 2: syntax error near unexpected token `

  137. 学习
    学习
    Google Chrome Windows 10
    key
  138. haoaimi
    haoaimi
    Google Chrome Windows 10
    过来学习一个::(呵呵)
  139. yiwan
    yiwan
    Google Chrome Windows 10
    感谢博主

目录