如果你有了一个Chat GPT账号想分享给多个人使用,最好还不用禾斗学上网别人就能访问,那么chatgpt-web这个项目可能刚好满足你的需求。

少点命令行,多点可视化,这里采用更直观的方式来搭建chatgpt-web

完成图镇楼:

提前准备

  • 一台有公网ip且安装了宝塔面板的云服务器
  • 一个可以正常登录的Chat GPT账号

部署过程

获取accessToken

首先你应该先获得自己账号的accessToken,如下图所示先确保自己能用浏览器访问chatgpt。

然后点此连接即可得到一串json字符,找到accessToken项(图中橙色下划线所指),然后复制那超长的一串英文字符备用。

ps: 之所以推荐accessToken模式还是因为它完全免费,可以供多人使用,而另一种api-key模式在上下文对话开启时会携带之前的所有对话,极其消耗token,免费的额度可能撑不了多久。

配置Docker compose模板

首先你应当确定服务器安装了docker 和 docker-comspose , 如果没安装请自行到宝塔面板侧边栏Docker处安装。

安装好后打开侧边Docker栏,按如图所示步骤导入Docker compose文件,其中第四步所填代码模板如下,仅需将eyxxx···处替换为你的accessToken即可。

version: '3'

services:
app:
image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可
ports:
- 3002:3002
environment:
# 二选一
OPENAI_API_KEY:
# 二选一
OPENAI_ACCESS_TOKEN: eyxxx···
# API接口地址,可选,设置 OPENAI_API_KEY 时可用
OPENAI_API_BASE_URL:
# API模型,可选,设置 OPENAI_API_KEY 时可用
OPENAI_API_MODEL:
# 反向代理,可选
API_REVERSE_PROXY:
# 访问权限密钥,可选 | 建议设置一个密码,我这里随便设置了个123456
AUTH_SECRET_KEY: 123456
# 每小时最大请求次数,可选,默认无限
MAX_REQUEST_PER_HOUR: 0
# 超时,单位毫秒,可选
TIMEOUT_MS: 60000
# Socks代理,可选,和 SOCKS_PROXY_PORT 一起时生效
SOCKS_PROXY_HOST:
# Socks代理端口,可选,和 SOCKS_PROXY_HOST 一起时生效
SOCKS_PROXY_PORT:
# HTTPS 代理,可选,支持 http,https,socks5
HTTPS_PROXY:

添加compose项目

接下来按下图所示添加项目:

点击添加后等待命令执行完成,列表中便会出现我们所添加的compose项目,如下图所示,点开容器列表,看到状态一栏是已启动状态,说明服务已经成功部署。

访问chatgpt-web

想要正常访问chatgpt-web,需要手动放行服务器安全组以及防火墙的3002端口,具体方法不再赘述。

部署成功后,可以通过服务器IP+端口的方式访问chatgpt-web了。如http://47.1xx.xxx.xx:3002/

结束

感谢维护此开源项目的各位大佬们~

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

使用docker部署自己的网页版chatgpt的更多相关文章

  1. Docker部署Jenkins 2.285版持续部署集成实践(2)

    前言:上一篇文章中,写到了jenkins搭建,下面记录使用jenkins构建项目实践 1. 以构建.netcore项目为例,如果要构建.netcore项目,需要安装dotnet-sdk包 进入jenk ...

  2. Docker部署Jenkins 2.285版持续部署集成实践(1)

    抓取Jenkins镜像 docker pull jenkins/jenkins 创建映射本地路径: 运行Jenkins实例 docker for windows: docker run -it -p ...

  3. 免费1年服务器,部署个ChatGPT专属网页版

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 白皮袄个免费1年服务器,部署个ChatGPT专属网页版! api.openai.com por ...

  4. 极速免费部署,国内可用 ChatGPT 网页版

    极速免费部署,国内可用 ChatGPT 网页版 我的星球微信群虽然接入了ChatGPT,但是依然有星友反馈说艾特机器人太麻烦,有些问题也不方便公开. 昨天充值api成功了,终于有底气把网页版开放给星友 ...

  5. 利用 JavaScript SDK 部署网页版“Facebook 登录”

    facebook开发者平台https://developers.facebook.com/ 利用 JavaScript SDK 部署网页版“Facebook 登录” 通过采用 Javascript 版 ...

  6. Oracle 备份与恢复 (Docker部署版)

    Oracle 备份与恢复 (Docker部署版) 一,宿主机设置定时备份脚本 1.检查Oracle容器是否正常运行 docker ps 2.进入容器,创建shell脚本 #oracle11g 是容器名 ...

  7. 一步步学会用docker部署应用(nodejs版)

    一步步学会用docker部署应用 docker是一种虚拟化技术,可以在内核层隔离资源.因此对于上层应用而言,采用docker技术可以达到类似于虚拟机的沙盒环境.这大大简化了应用部署,让运维人员无需陷入 ...

  8. 树莓派使用Docker部署EdgeX(jakarta版本)

    使用Docker部署EdgeX 老师安排我搞边缘计算,搞了很久都没能明白边缘计算是什么,甚至对其兴趣不大,前一阵弄好了lorawan网关,该做网关内部的边缘计算了,发现自己已经慢慢地学了进去,总是想要 ...

  9. 万字干货! 使用docker部署jenkins和gitlab

    阅读本文, 需要有基础的Git, Linux, Docker, Java, Maven, shell知识, 并最少有一台内存16G以上并已经安装好了Docker的机器. 1. 概述 2. 容器互联 3 ...

  10. 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

随机推荐

  1. 在 ArkTS 中,如何有效地进行内存管理和避免内存泄漏?

    ArkTS 是鸿蒙生态的应用开发语言,它在 TypeScript 的基础上进行了优化和定制,以适应鸿蒙系统的需求. 以下是在 ArkTS 中进行有效的内存管理和避免内存泄漏: 1. 使用 const ...

  2. 关于AutoCAD反复弹窗Nonvalid Software Detected的解决办法

    事件起因: 客户安装的 CAD 2020 频繁弹窗Nonvalid Software Detected,报错内容:YOUR ACCESS IS NOW BLOCKED   解决办法: 在文件资源管理器 ...

  3. oh-my-zsh nvm command not found

    oh-my-zsh nvm command not found 如果你在使用 oh-my-zsh 并且在终端输入 nvm 命令时提示 "command not found",这可能 ...

  4. PHP中几种常见的开发模式

     设计模式 单例模式 $_instance必须声明为静态的私有变量 构造函数和析构函数必须声明为私有,防止外部程序new 类从而失去单例模式的意义 getInstance()方法必须设置为公有的,必须 ...

  5. PHP运算符优先级(摘自在线工具)

    PHP运算符优先级 结合方向 运算符 附加信息 非结合 clone new clone 和 new 左 [ array() 非结合 ++ -- 递增/递减运算符 非结合 ~ - (int) (floa ...

  6. 使用dynamic debug帮助调试

    你一定在kernel source code中看过很多pr_debug()/dev_dbg()/print_hex_dump_debug()吧,这些debug语句提供更多的信息帮助我们了解内核运行流程 ...

  7. ssr屏幕空间射线追踪

    本轮作业中,我们需要在一个光源为方向光,材质为漫反射 (Diffuse) 的场景 中,完成屏幕空间下的全局光照效果(两次反射). 为了在作业框架中实现上述效果,基于我们需要的信息不同我们会分三阶段 着 ...

  8. 小程序的button组件

    button组件 按钮组件 功能比html的button按钮丰富 可以通过open-type属性可以调用微信提供的各种功能(客服,转发,获取用户权限,获取用户信息等): 按钮的属性 size 按钮的大 ...

  9. 谈一谈 vuex 的运行机制

    Vuex提供数据(state)来驱动视图(vue components),通过dispath派发actions,在其中可以做一些异步的操作,然后通过commit来提交mutations,最后mutat ...

  10. Android复习(三)清单文件中的元素——>path-permission、permission、permission-group、permission-tree

    <path-permission> 语法: <path-permission android:path="string" android:pathPrefix=& ...