chatgpt-web-dev / chatgpt-web

A third-party ChatGPT Web UI page built with Express and Vue3, through the official OpenAI completion API. / 用 Express 和 Vue3 搭建的第三方 ChatGPT 前端页面, 基于 OpenAI 官方 completion API.
https://chatgpt-web.dev
MIT License
1.6k stars 440 forks source link

[一键部署err] 使用docker-compose部署前端返回500 #417

Open cffycls opened 6 months ago

cffycls commented 6 months ago
version: '3'

services:
  app:
    # 在https://hub.docker.com/r/kerwin1202/chatgpt-web/tags 里获得tag。或者写latest
    image: kerwin1202/chatgpt-web:latest
    restart: unless-stopped
    ports:
      - 1004:3002
    depends_on:
      - database
    environment:
      TZ: Asia/Shanghai
      # 从OpenAI后台里获得
      OPENAI_API_KEY: "sk-xxxxx" # 按需修改
      # 访问jwt加密参数,可选 不为空则允许登录 同时需要设置 MONGODB_URL
      AUTH_SECRET_KEY: cls108 # 按需修改
      # 超时,单位毫秒,可选
      TIMEOUT_MS: 60000
      # 网站名
      SITE_TITLE: cffyChat # 按需修改。写个自己喜欢的名字就行
      # mongodb 的连接字符串
      MONGODB_URL: 'mongodb://user01:password01@database:27017' # 按需修改
      # 网站是否开启注册
      REGISTER_ENABLED: true # 完成注册后,这一项要改为false
      # 开启注册之后 网站注册允许的邮箱后缀 如果空 则允许任意后缀
      REGISTER_MAILS: '@qq.com,@gmail.com,@163.com' # 按需修改
      # 加密盐。算法: echo -n 'passwordsalt' | md5sum | cut -c 1-32
      PASSWORD_MD5_SALT: tNJ%M&D # 按需修改
      # 开启注册之后 超级管理员的邮箱
      ROOT_USER: 724247159@qq.com # 按需修改
      # 开启注册之后网站域名 不含 / 。注册的时候发送验证邮箱使用
      # SITE_DOMAIN: https://172.16.0.114:8084 # 按需修改
      # 开启注册之后 发送验证邮箱配置
      # SMTP_HOST: smtp.qq.com
      # SMTP_PORT: 465
      # SMTP_TSL: true
      # SMTP_USERNAME: 724247159@qq.com # 按需修改
      # SMTP_PASSWORD: xxxxxxxx # 按需修改
    links:
      - database

  database:
    image: mongo:latest
    restart: unless-stopped
    expose:
      - '27017'
    volumes:
      - ./mongodb:/data/db
    environment:
      MONGO_INITDB_ROOT_USERNAME: user01
      MONGO_INITDB_ROOT_PASSWORD: password01
      MONGO_INITDB_DATABASE: chatgpt

使用docker-compose部署前端返回500。手动创建了库chatgpt (MONGO_INITDB_DATABASE: chatgpt),也还是不行,数据表没有自动初始化

500
Server error

360截图20240131140448400

BobDu commented 6 months ago

看下容器输出的日志? 有啥记录没

nankaine commented 6 months ago

遇到类似的 长时间不登陆后,再次在同一个浏览器登录,也直接跳500错误。 必须要清理缓存或者再开隐私模式 才行

https://github.com/chatgpt-web-dev/chatgpt-web/issues/418 已解决

cffycls commented 6 months ago

日志输出正常,服务端显示已启动3002端口,其它没有。

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2024年1月31日(星期三) 下午2:33 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [Kerwin1202/chatgpt-web] [一键部署err] 使用docker-compose部署前端返回500 (Issue #417)

遇到类似的 长时间不登陆后,再次在同一个浏览器登录,也直接跳500错误。 必须要清理缓存或者再开隐私模式 才行

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

cffycls commented 6 months ago

日志输出正常,服务端显示已启动3002端口,其它没有。

cffycls commented 6 months ago

“长时间不登陆后,再次在同一个浏览器登录,也直接跳500错误。 必须要清理缓存或者再开隐私模式 才行”

打开浏览器控制台:/api/session 返回 {"status":"Fail","message":"Topology is closed","data":null} 。本地跑:可以看到聊天页面,但是发消息返回报什么user错误(没有进入过登录注册页面),看数据库保存了聊天发送记录;docker版:前端直接500。无痕模式也不行

BobDu commented 6 months ago

“长时间不登陆后,再次在同一个浏览器登录,也直接跳500错误。 必须要清理缓存或者再开隐私模式 才行”

打开浏览器控制台:/api/session 返回 {"status":"Fail","message":"Topology is closed","data":null} 。本地跑:可以看到聊天页面,但是发消息返回报什么user错误(没有进入过登录注册页面),看数据库保存了聊天发送记录;docker版:前端直接500。无痕模式也不行

"Topology is closed" 这个错误是mongodb抛出来的。应该是你的数据库服务挂了。

cffycls commented 6 months ago

docker-compose全新创建的怎么挂了,可以看到还在运行。如果是连接问题,那应该是yaml配置的问题

------------------ 原始邮件 ------------------ 发件人: "Bob @.>; 发送时间: 2024年2月4日(星期天) 中午11:06 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [chatgpt-web-dev/chatgpt-web] [一键部署err] 使用docker-compose部署前端返回500 (Issue #417)

“长时间不登陆后,再次在同一个浏览器登录,也直接跳500错误。 必须要清理缓存或者再开隐私模式 才行”

打开浏览器控制台:/api/session 返回 {"status":"Fail","message":"Topology is closed","data":null} 。本地跑:可以看到聊天页面,但是发消息返回报什么user错误(没有进入过登录注册页面),看数据库保存了聊天发送记录;docker版:前端直接500。无痕模式也不行

"Topology is closed" 这个错误是mongodb抛出来的。应该是你的数据库服务挂了。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

BobDu commented 6 months ago

docker-compose全新创建的怎么挂了,可以看到还在运行。如果是连接问题,那应该是yaml配置的问题

你可以看 docker compose 的日志。正常情况下mongodb的容器是应该有类似

cw-database-1  | {"t":{"$date":"2024-02-06T13:51:38.769+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn2","msg":"client metadata","attr":{"remote":"172.20.0.3:60972","client":"conn2","doc":{"driver":{"name":"nodejs","version":"5.9.2"},"platform":"Node.js v20.11.0, LE","os":{"name":"linux","architecture":"x64","version":"4.18.0-147.el8.x86_64","type":"Linux"}}}}

这种日志出现。 说明应用有连接到了mongo

我用你提供的yaml文件测试了一下。是可以正常访问到数据库的。所以这个文件写的应该是没有问题的。

tongwei0715 commented 5 months ago

大神你有微信群之类的可以咨询吗?我也是两个容器都启动正常,其中数据库的启动跟你上面的日志显示是一样的表示通了,但是访问网页直接500