Closed GitHubChrisChen8035 closed 1 year ago
关于docker的端口映射,请看该文章: Docker系列 了解Docker Compose的配置文件
关于如何使用自建代理,请看该文章: Docker系列 基于OpenAI API和Access Token自建ChatGPT
有问题可以博客评论留言或在此issue继续提问。
自建代理不用映射到外面去,写在同一个yml里面直接用name访问8080端口就行。
chatgpt-web的yml配置里, -ports: 3002:3002
自建代理的yml配置里, -ports: 8080:8080
第一段我理解,搭建的web服务用vps.ip:3002端口访问,映射到容器的3002端口 第二段根据注释,冒号前面那个8080是宿主机端口,然后映射到容器8080端口
是不是得改成3002:8080?如果这样改,容器启动的时候会提示端口被占用。
改成以下这样,容器能正常run,但web访问不了 chatgpt-web的yml配置里, -ports: 3002:3012
自建代理的yml配置里, -ports: 3012:8080
看来对端口映射还是知之甚少。。
你弄好了吗,最后是怎么访问chat-web这个项目的?
我是用的docket部署的
自建代理的映射8080:8080
web-gpt端口映射:3002:3002
代理配置:API_REVERSE_PROXY=http://代理ip:8080/conversation
命令如下成功了
docker run -d --name chatgpt-web -p 3002:3002 -e OPENAI_API_MODEL=gpt-4 -e API_REVERSE_PROXY=http://代理ip:8080/conversation -e OPENAI_ACCESS_TOKEN=你的token chenzhaoyu94/chatgpt-web
我是用的docket部署的 自建代理的映射8080:8080 web-gpt端口映射:3002:3002 代理配置:API_REVERSE_PROXY=http://代理ip:8080/conversation 命令如下成功了 docker run -d --name chatgpt-web -p 3002:3002 -e OPENAI_API_MODEL=gpt-4 -e API_REVERSE_PROXY=http://代理ip:8080/conversation -e OPENAI_ACCESS_TOKEN=你的token chenzhaoyu94/chatgpt-web
那我部署在我买的国外vps里面,我本地电脑改怎么访问这个chatgpt-web项目?
@huangwb8 大佬 我ssh连上了服务器,输入docker ps
,显示我chatgpt-web
项目和自建代理项目都运行了
在ssh里面可以看
chatgpt-web
这个项目是否正常运行了吗,(我的自建代理是可以用的,已经在本地电脑试过了)
@1205129045x
这样看暂时看不出来。 你自己用http://vps-ip:端口号
的方式访问试试看呗,成功就是正常运行了
@huangwb8 我运行了两个yml文件
version: '3'
services:
app:
image: chenzhaoyu94/chatgpt-web
ports:
- 0.0.0.0:3002:3002 #这里我改成0.0.0.0了,是不是就可以直接用我的vps ip:3002访问这个项目
environment:
OPENAI_ACCESS_TOKEN: 我的acesstoken
API_REVERSE_PROXY: http://我国外公网vps的ip:8080/conversation
和
version: "3"
services:
go-chatgpt-api:
container_name: go-chatgpt-api
image: linweiyuan/go-chatgpt-api
ports:
- 8080:8080 # 容器端口映射到宿主机8080端口;宿主机监听端口可按需改为其它端口
environment:
- GIN_MODE=release
- CHATGPT_PROXY_SERVER=http://chatgpt-proxy-server:9515
- NETWORK_PROXY_SERVER=socks5://chatgpt-proxy-server-warp:65535
depends_on:
- chatgpt-proxy-server
- chatgpt-proxy-server-warp
restart: unless-stopped
chatgpt-proxy-server:
container_name: chatgpt-proxy-server
image: linweiyuan/chatgpt-proxy-server
restart: unless-stopped
chatgpt-proxy-server-warp:
container_name: chatgpt-proxy-server-warp
image: linweiyuan/chatgpt-proxy-server-warp
restart: unless-stopped
是不是我在本地电脑输入 http://vpsip:3002
就可以访问chatgpt的项目了,但是我输进去显示当前无法使用此页面
@1205129045x
chatgpt-web改成类似这样:
version: '3'
services:
app:
image: chenzhaoyu94/chatgpt-web:latest
ports:
- 3002:3002
environment:
OPENAI_ACCESS_TOKEN: 我的acesstoken
API_REVERSE_PROXY: http://172.17.0.1:8080/conversation
当然,chatgpt-web的其它设置你也要做好。 这个我不太了解,因为我并不直接使用该项目。 我使用的是衍生项目 Kerwin1202/chatgpt-web 。
chatgpt-web和反向代理要在同一台VPS里,这样它们都处于一个名为docker0
的内网中。
VPS的防火墙要开放8080和3002端口。
这样,在本地电脑输入 http://vpsip:3002
就可以访问chatgpt的项目了。 不过, 使用http是危险的。 你应该使用https。
你可以看我的教程了解更多细节: Docker系列 基于OpenAI API和Access Token自建ChatGPT
@huangwb8 欧克了,谢谢大佬,去博客支持了一下,赞助支持,为什么背景都是美女? 直接用端口访问是不是不太安全
@huangwb8 欧克了,谢谢大佬,去博客支持了一下,赞助支持,为什么背景都是美女? 直接用端口访问是不是不太安全
“直接用端口访问是不是不太安全” 这种表述不严谨。 实际上,是http不安全。 一般,比如你访问 https://baidu.com ,其实是访问 https://baidu.com:443 。 只是因为443是默认的https端口,所以才会自动隐藏。 但是,你其实是使用了443这个端口访问百度,且这个过程是安全的。
@huangwb8 我有时候问他问题,半天不跳出来,是不是还和我本地翻墙的速度有关
@huangwb8 我有时候问他问题,半天不跳出来,是不是还和我本地翻墙的速度有关
有几种可能性。
第一,你本地连接VPS有较高的延迟。
第二,你的chatgpt-web和反向代理连接延迟高。
第三, 你的反向代理和openai连接延迟高。
第四,可能有时候是高峰, 网络比较拥堵。
我在使用的时候,域名托管于Cloudflare,使用的是泛播cloudflare IP,应该和WARP比较兼容。 但我偶尔也会有那种卡顿的感觉。 但半天不跳出来的话,你可以删除旧对话再新建对话。
总体上,api的速度比access token表现好。 毕竟是花钱的。 比plus套餐那种靠谱得多 (ฅ´ω`ฅ)
我是用的docket部署的 自建代理的映射8080:8080 web-gpt端口映射:3002:3002 代理配置:API_REVERSE_PROXY=http://代理ip:8080/conversation 命令如下成功了 docker run -d --name chatgpt-web -p 3002:3002 -e OPENAI_API_MODEL=gpt-4 -e API_REVERSE_PROXY=http://代理ip:8080/conversation -e OPENAI_ACCESS_TOKEN=你的token chenzhaoyu94/chatgpt-web
那我部署在我买的国外vps里面,我本地电脑改怎么访问这个chatgpt-web项目?
我是LA的VPS,可以在本地电脑的浏览器,输入vps的ip,后面追加:3002进行chatgpt-web项目访问,目前已经通过自建代理实现AccessToken访问。
chatgpt-web的yml配置里, -ports: 3002:3002
自建代理的yml配置里, -ports: 8080:8080
第一段我理解,搭建的web服务用vps.ip:3002端口访问,映射到容器的3002端口 第二段根据注释,冒号前面那个8080是宿主机端口,然后映射到容器8080端口
是不是得改成3002:8080?如果这样改,容器启动的时候会提示端口被占用。
改成以下这样,容器能正常run,但web访问不了 chatgpt-web的yml配置里, -ports: 3002:3012
自建代理的yml配置里, -ports: 3012:8080
看来对端口映射还是知之甚少。。