geekai icon indicating copy to clipboard operation
geekai copied to clipboard

下载的是3.2.6,用的是DOCKER,只有API没起来,其它三个服务都起来

Open cq134cq opened this issue 11 months ago • 1 comments

⚠️ 确认 issue 是否已存在 ⚠️

  • [X] 我已经搜索了现有的问题,没有找到跟我问题相关的问题。

GPT-3 or GPT-4

GPT-3.5

操作系统

Linux

Bug 描述 📝

DOCKER的API日志 [Fx] INVOKE main.main.func21() [Fx] INVOKE main.main.func22() [Fx] INVOKE main.main.func23() [Fx] INVOKE main.main.func24() [Fx] INVOKE main.main.func25() [Fx] INVOKE main.main.func26() [Fx] INVOKE main.main.func27() [Fx] INVOKE main.main.func28() [Fx] INVOKE main.main.func29() [Fx] INVOKE main.main.func30() 2024-02-29T15:42:28.903+0800 INFO payment/alipay_service.go:23 Disabled Alipay service [Fx] INVOKE main.main.func31() [Fx] INVOKE main.main.func32() [Fx] INVOKE main.main.func33() [Fx] INVOKE main.main.func34() [Fx] INVOKE main.main.func35() 2024/02/29 15:42:28 unexpected end of JSON input 2024-02-29T15:42:31.214+0800 INFO api/main.go:67 Loading config file: config.toml [Fx] PROVIDE *types.AppConfig <= main.main.func2() [Fx] PROVIDE *core.AppServer <= chatplus/core.NewServer() [Fx] PROVIDE *gorm.Config <= chatplus/store.NewGormConfig() [Fx] PROVIDE *gorm.DB <= chatplus/store.NewMysql() [Fx] PROVIDE *store.LevelDB <= chatplus/store.NewLevelDB() [Fx] PROVIDE *redis.Client <= chatplus/store.NewRedisClient() [Fx] PROVIDE embed.FS <= main.main.func4() [Fx] PROVIDE *xdb.Searcher <= main.main.func5() [Fx] PROVIDE map[string]fun.Function <= chatplus/service/fun.NewFunctions() [Fx] PROVIDE *handler.ChatRoleHandler <= chatplus/handler.NewChatRoleHandler() [Fx] PROVIDE *handler.UserHandler <= chatplus/handler.NewUserHandler() [Fx] PROVIDE *chatimpl.ChatHandler <= chatplus/handler/chatimpl.NewChatHandler() [Fx] PROVIDE *handler.UploadHandler <= chatplus/handler.NewUploadHandler() [Fx] PROVIDE *handler.SmsHandler <= chatplus/handler.NewSmsHandler() [Fx] PROVIDE *handler.RewardHandler <= chatplus/handler.NewRewardHandler() [Fx] PROVIDE *handler.CaptchaHandler <= chatplus/handler.NewCaptchaHandler() [Fx] PROVIDE *handler.MidJourneyHandler <= chatplus/handler.NewMidJourneyHandler() [Fx] PROVIDE *handler.ChatModelHandler <= chatplus/handler.NewChatModelHandler() [Fx] PROVIDE *handler.SdJobHandler <= chatplus/handler.NewSdJobHandler() [Fx] PROVIDE *handler.PaymentHandler <= chatplus/handler.NewPaymentHandler() [Fx] PROVIDE *handler.OrderHandler <= chatplus/handler.NewOrderHandler() [Fx] PROVIDE *handler.ProductHandler <= chatplus/handler.NewProductHandler() [Fx] PROVIDE *admin.ConfigHandler <= chatplus/handler/admin.NewConfigHandler() [Fx] PROVIDE *admin.ManagerHandler <= chatplus/handler/admin.NewAdminHandler() [Fx] PROVIDE *admin.ApiKeyHandler <= chatplus/handler/admin.NewApiKeyHandler() [Fx] PROVIDE *admin.UserHandler <= chatplus/handler/admin.NewUserHandler() [Fx] PROVIDE *admin.ChatRoleHandler <= chatplus/handler/admin.NewChatRoleHandler() [Fx] PROVIDE *admin.RewardHandler <= chatplus/handler/admin.NewRewardHandler() [Fx] PROVIDE *admin.DashboardHandler <= chatplus/handler/admin.NewDashboardHandler() [Fx] PROVIDE *admin.ChatModelHandler <= chatplus/handler/admin.NewChatModelHandler() [Fx] PROVIDE *admin.ProductHandler <= chatplus/handler/admin.NewProductHandler() [Fx] PROVIDE *admin.OrderHandler <= chatplus/handler/admin.NewOrderHandler() [Fx] PROVIDE *service.AliYunSmsService <= chatplus/service.NewAliYunSmsService() [Fx] PROVIDE *service.CaptchaService <= main.main.func6() [Fx] PROVIDE *oss.UploaderManager <= chatplus/service/oss.NewUploaderManager() [Fx] PROVIDE *mj.Service <= chatplus/service/mj.NewService() [Fx] PROVIDE *wx.Bot <= chatplus/service/wx.NewWeChatBot() [Fx] PROVIDE *mj.Bot <= chatplus/service/mj.NewBot() [Fx] PROVIDE *mj.Client <= chatplus/service/mj.NewClient() [Fx] PROVIDE *sd.Service <= chatplus/service/sd.NewService() [Fx] PROVIDE *payment.AlipayService <= chatplus/service/payment.NewAlipayService() [Fx] PROVIDE *service.Snowflake <= chatplus/service.NewSnowflake() [Fx] PROVIDE *service.XXLJobExecutor <= chatplus/service.NewXXLJobExecutor() [Fx] PROVIDE fx.Lifecycle <= go.uber.org/fx.New.func1() [Fx] PROVIDE fx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm() [Fx] PROVIDE fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm() [Fx] INVOKE main.main.func3()

2024/02/29 15:42:31 /go/chatgpt-plus/api/store/mysql.go:23 [error] failed to initialize database, got error dial tcp 172.20.0.3:3306: connect: connection refused [Fx] INVOKE main.main.func7() [Fx] INVOKE main.main.func8() [Fx] INVOKE main.main.func9() [Fx] INVOKE main.main.func10() [Fx] INVOKE main.main.func11() 2024-02-29T15:42:31.226+0800 INFO service/xxl_job_service.go:24 XXL-JOB service is disabled [Fx] INVOKE main.main.func12() [Fx] INVOKE main.main.func13() [Fx] INVOKE main.main.func14() [Fx] INVOKE main.main.func15() [Fx] INVOKE main.main.func16() [Fx] INVOKE main.main.func17() [Fx] INVOKE main.main.func18() [Fx] INVOKE main.main.func19() [Fx] INVOKE main.main.func20() [Fx] INVOKE main.main.func21() [Fx] INVOKE main.main.func22() [Fx] INVOKE main.main.func23() [Fx] INVOKE main.main.func24() [Fx] INVOKE main.main.func25() [Fx] INVOKE main.main.func26() [Fx] INVOKE main.main.func27() [Fx] INVOKE main.main.func28() [Fx] INVOKE main.main.func29() [Fx] INVOKE main.main.func30() [Fx] INVOKE main.main.func31() [Fx] INVOKE main.main.func32() 2024-02-29T15:42:31.318+0800 INFO payment/alipay_service.go:23 Disabled Alipay service [Fx] INVOKE main.main.func33() [Fx] INVOKE main.main.func34() [Fx] INVOKE main.main.func35() 2024/02/29 15:42:31 unexpected end of JSON input

重现步骤 🕹

[Fx] INVOKE main.main.func21() [Fx] INVOKE main.main.func22() [Fx] INVOKE main.main.func23() [Fx] INVOKE main.main.func24() [Fx] INVOKE main.main.func25() [Fx] INVOKE main.main.func26() [Fx] INVOKE main.main.func27() [Fx] INVOKE main.main.func28() [Fx] INVOKE main.main.func29() [Fx] INVOKE main.main.func30() 2024-02-29T15:42:28.903+0800 INFO payment/alipay_service.go:23 Disabled Alipay service [Fx] INVOKE main.main.func31() [Fx] INVOKE main.main.func32() [Fx] INVOKE main.main.func33() [Fx] INVOKE main.main.func34() [Fx] INVOKE main.main.func35() 2024/02/29 15:42:28 unexpected end of JSON input 2024-02-29T15:42:31.214+0800 INFO api/main.go:67 Loading config file: config.toml [Fx] PROVIDE *types.AppConfig <= main.main.func2() [Fx] PROVIDE *core.AppServer <= chatplus/core.NewServer() [Fx] PROVIDE *gorm.Config <= chatplus/store.NewGormConfig() [Fx] PROVIDE *gorm.DB <= chatplus/store.NewMysql() [Fx] PROVIDE *store.LevelDB <= chatplus/store.NewLevelDB() [Fx] PROVIDE *redis.Client <= chatplus/store.NewRedisClient() [Fx] PROVIDE embed.FS <= main.main.func4() [Fx] PROVIDE *xdb.Searcher <= main.main.func5() [Fx] PROVIDE map[string]fun.Function <= chatplus/service/fun.NewFunctions() [Fx] PROVIDE *handler.ChatRoleHandler <= chatplus/handler.NewChatRoleHandler() [Fx] PROVIDE *handler.UserHandler <= chatplus/handler.NewUserHandler() [Fx] PROVIDE *chatimpl.ChatHandler <= chatplus/handler/chatimpl.NewChatHandler() [Fx] PROVIDE *handler.UploadHandler <= chatplus/handler.NewUploadHandler() [Fx] PROVIDE *handler.SmsHandler <= chatplus/handler.NewSmsHandler() [Fx] PROVIDE *handler.RewardHandler <= chatplus/handler.NewRewardHandler() [Fx] PROVIDE *handler.CaptchaHandler <= chatplus/handler.NewCaptchaHandler() [Fx] PROVIDE *handler.MidJourneyHandler <= chatplus/handler.NewMidJourneyHandler() [Fx] PROVIDE *handler.ChatModelHandler <= chatplus/handler.NewChatModelHandler() [Fx] PROVIDE *handler.SdJobHandler <= chatplus/handler.NewSdJobHandler() [Fx] PROVIDE *handler.PaymentHandler <= chatplus/handler.NewPaymentHandler() [Fx] PROVIDE *handler.OrderHandler <= chatplus/handler.NewOrderHandler() [Fx] PROVIDE *handler.ProductHandler <= chatplus/handler.NewProductHandler() [Fx] PROVIDE *admin.ConfigHandler <= chatplus/handler/admin.NewConfigHandler() [Fx] PROVIDE *admin.ManagerHandler <= chatplus/handler/admin.NewAdminHandler() [Fx] PROVIDE *admin.ApiKeyHandler <= chatplus/handler/admin.NewApiKeyHandler() [Fx] PROVIDE *admin.UserHandler <= chatplus/handler/admin.NewUserHandler() [Fx] PROVIDE *admin.ChatRoleHandler <= chatplus/handler/admin.NewChatRoleHandler() [Fx] PROVIDE *admin.RewardHandler <= chatplus/handler/admin.NewRewardHandler() [Fx] PROVIDE *admin.DashboardHandler <= chatplus/handler/admin.NewDashboardHandler() [Fx] PROVIDE *admin.ChatModelHandler <= chatplus/handler/admin.NewChatModelHandler() [Fx] PROVIDE *admin.ProductHandler <= chatplus/handler/admin.NewProductHandler() [Fx] PROVIDE *admin.OrderHandler <= chatplus/handler/admin.NewOrderHandler() [Fx] PROVIDE *service.AliYunSmsService <= chatplus/service.NewAliYunSmsService() [Fx] PROVIDE *service.CaptchaService <= main.main.func6() [Fx] PROVIDE *oss.UploaderManager <= chatplus/service/oss.NewUploaderManager() [Fx] PROVIDE *mj.Service <= chatplus/service/mj.NewService() [Fx] PROVIDE *wx.Bot <= chatplus/service/wx.NewWeChatBot() [Fx] PROVIDE *mj.Bot <= chatplus/service/mj.NewBot() [Fx] PROVIDE *mj.Client <= chatplus/service/mj.NewClient() [Fx] PROVIDE *sd.Service <= chatplus/service/sd.NewService() [Fx] PROVIDE *payment.AlipayService <= chatplus/service/payment.NewAlipayService() [Fx] PROVIDE *service.Snowflake <= chatplus/service.NewSnowflake() [Fx] PROVIDE *service.XXLJobExecutor <= chatplus/service.NewXXLJobExecutor() [Fx] PROVIDE fx.Lifecycle <= go.uber.org/fx.New.func1() [Fx] PROVIDE fx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm() [Fx] PROVIDE fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm() [Fx] INVOKE main.main.func3()

2024/02/29 15:42:31 /go/chatgpt-plus/api/store/mysql.go:23 [error] failed to initialize database, got error dial tcp 172.20.0.3:3306: connect: connection refused [Fx] INVOKE main.main.func7() [Fx] INVOKE main.main.func8() [Fx] INVOKE main.main.func9() [Fx] INVOKE main.main.func10() [Fx] INVOKE main.main.func11() 2024-02-29T15:42:31.226+0800 INFO service/xxl_job_service.go:24 XXL-JOB service is disabled [Fx] INVOKE main.main.func12() [Fx] INVOKE main.main.func13() [Fx] INVOKE main.main.func14() [Fx] INVOKE main.main.func15() [Fx] INVOKE main.main.func16() [Fx] INVOKE main.main.func17() [Fx] INVOKE main.main.func18() [Fx] INVOKE main.main.func19() [Fx] INVOKE main.main.func20() [Fx] INVOKE main.main.func21() [Fx] INVOKE main.main.func22() [Fx] INVOKE main.main.func23() [Fx] INVOKE main.main.func24() [Fx] INVOKE main.main.func25() [Fx] INVOKE main.main.func26() [Fx] INVOKE main.main.func27() [Fx] INVOKE main.main.func28() [Fx] INVOKE main.main.func29() [Fx] INVOKE main.main.func30() [Fx] INVOKE main.main.func31() [Fx] INVOKE main.main.func32() 2024-02-29T15:42:31.318+0800 INFO payment/alipay_service.go:23 Disabled Alipay service [Fx] INVOKE main.main.func33() [Fx] INVOKE main.main.func34() [Fx] INVOKE main.main.func35() 2024/02/29 15:42:31 unexpected end of JSON input

你的应用配置信息

把你的配置信息粘贴到这里

Listen = "0.0.0.0:5678" ProxyURL = "" # 如 http://127.0.0.1:7777 MysqlDns = "root:12345678@tcp(chatgpt-plus-mysql:3306)/chatgpt_plus?charset=utf8&parseTime=True&loc=Local" StaticDir = "./static" # 静态资源的目录 StaticUrl = "/static" # 静态资源访问 URL AesEncryptKey = "" ImgCdnURL = "" WeChatBot = false

[Session] SecretKey = "azyehq3ivunjhbntz78isj00i4hz2mt9xtddysfucxakadq4qbfrt0b7q3lnvg80" # 注意:这个是 JWT Token 授权密钥,生产环境请务必更换 MaxAge = 86400

[Manager] Username = "admin" Password = "admin123" # 如果是生产环境的话,这里管理员的密码记得修改

[Redis] # redis 配置信息 Host = "chatgpt-plus-redis" Port = 6379 Password = "12345678" DB = 0

[ApiConfig] # 微博热搜,今日头条等函数服务 API 配置,此为第三方插件服务,如需使用请联系作者开通 ApiURL = "" AppId = "" Token = ""

[SmsConfig] # 阿里云短信服务配置 AccessKey = "" AccessSecret = "" Product = "Dysmsapi" Domain = "dysmsapi.aliyuncs.com" Sign = "" CodeTempId = ""

[Sms] # Sms 配置,用于发送短信 Active = "Ali" # 当前启用的短信服务,默认使用阿里云 [Sms.SmsBao] Username = "" Password = "" Domain = "api.smsbao.com" Sign = "【极客学长】" CodeTemplate = "您的验证码是{code}。5分钟有效,若非本人操作,请忽略本短信。" [Sms.Ali] AccessKey = "" AccessSecret = "" Product = "Dysmsapi" Domain = "dysmsapi.aliyuncs.com" Sign = "" CodeTempId = ""

[OSS] # OSS 配置,用于存储 MJ 绘画图片 Active = "local" # 默认使用本地文件存储引擎 [OSS.Local] BasePath = "./static/upload" # 本地文件上传根路径 BaseURL = "http://localhost:5678/static/upload" # 本地上传文件根 URL 如果是线上,则直接设置为 /static/upload 即可 [OSS.Minio] Endpoint = "" # 如 172.22.11.200:9000 AccessKey = "" # 自己去 Minio 控制台去创建一个 Access Key AccessSecret = "" Bucket = "chatgpt-plus" # 替换为你自己创建的 Bucket,注意要给 Bucket 设置公开的读权限,否则会出现图片无法显示。 UseSSL = false Domain = "" # 地址必须是能够通过公网访问的,否则会出现图片无法显示。 [OSS.QiNiu] # 七牛云 OSS 配置 Zone = "z2" # 区域,z0:华东,z1: 华北,na0:北美,as0:新加坡 AccessKey = "" AccessSecret = "" Bucket = "" Domain = "" # OSS Bucket 所绑定的域名,如 https://img.r9it.com

[[MjConfigs]] Enabled = false UserToken = "" BotToken = "" GuildId = "" ChanelId = "" UseCDN = false #是否使用反向代理访问,设置为true下面的设置才会生效 DiscordAPI = "https://mj.r9it.com:8001" # discord API 反代地址 DiscordCDN = "https://mj.r9it.com:8002" # mj 图片反代地址 DiscordGateway = "wss://mj.r9it.com:8003" # discord 机器人反代地址

[[MjPlusConfigs]] Enabled = false ApiURL = "https://api.chatgpt-plus.net" # 目前暂时不支持更改 ApiKey = "sk-xxx" NotifyURL = "https://ai.r9it.com/api/mj/notify" # 这里需要改成你的域名

[[SdConfigs]] Enabled = false ApiURL = "" ApiKey = "" Txt2ImgJsonPath = "res/sd/text2img.json"

[XXLConfig] # xxl-job 配置,需要你部署 XXL-JOB 定时任务工具,用来定期清理未支付订单和清理过期 VIP,如果你没有启用支付服务,则该服务也无需启动 Enabled = false # 是否启用 XXL JOB 服务 ServerAddr = "http://172.22.11.47:8080/xxl-job-admin" # xxl-job-admin 管理地址 ExecutorIp = "172.22.11.47" # 执行器 IP 地址 ExecutorPort = "9999" # 执行器服务端口 AccessToken = "xxl-job-api-token" # 执行器 API 通信 token RegistryKey = "chatgpt-plus" # 任务注册 key

[AlipayConfig] Enabled = false # 启用支付宝支付通道 SandBox = false # 是否启用沙盒模式 UserId = "2088721020750581" # 商户ID AppId = "9021000131658023" # App Id PrivateKey = "certs/alipay/privateKey.txt" # 应用私钥 PublicKey = "certs/alipay/appPublicCert.crt" # 应用公钥证书 AlipayPublicKey = "certs/alipay/alipayPublicCert.crt" # 支付宝公钥证书 RootCert = "certs/alipay/alipayRootCert.crt" # 支付宝根证书 NotifyURL = "https://ai.r9it.com/api/payment/alipay/notify" # 支付异步回调地址

[HuPiPayConfig] Enabled = false Name = "wechat" AppId = "201906161477" AppSecret = "7f403199d510fb2c6f0b9f2311800e7c" PayURL = "https://api.xunhupay.com/payment/do.html" NotifyURL = "https://ai.r9it.com/api/payment/hupipay/notify"

[SmtpConfig] # 注意,阿里云服务器禁用了25号端口,所以如果需要使用邮件功能,请别用阿里云服务器 Host = "smtp.163.com" Port = 25 AppName = "极客学长" From = "[email protected]" # 发件邮箱人地址 Password = "" #邮箱 stmp 服务授权码

[JPayConfig] # PayJs 支付配置 Enabled = false Name = "wechat" # 请不要改动 AppId = "" # 商户 ID PrivateKey = "" # 秘钥 ApiURL = "https://payjs.cn/api/native" NotifyURL = "https://ai.r9it.com/api/payment/payjs/notify" # 异步回调地址,域名改成你自己的

cq134cq avatar Feb 29 '24 07:02 cq134cq

DOCKER的配置 version: '3' services:

mysql

chatgpt-plus-mysql: image: mysql:8.0.33 container_name: chatgpt-plus-mysql command: --default-authentication-plugin=mysql_native_password restart: always environment: - MYSQL_ROOT_PASSWORD=12345678 ports: - "3307:3306" volumes : - ./mysql/conf/my.cnf:/etc/mysql/my.cnf - ./mysql/data:/var/lib/mysql - ./mysql/logs:/var/log/mysql - ./mysql/init.d:/docker-entrypoint-initdb.d/

redis

chatgpt-plus-redis: image: redis:6.0.16 restart: always container_name: chatgpt-plus-redis command: redis-server --requirepass 12345678 volumes : - ./redis/data:/data ports: - "6380:6379"

后端 API 程序

chatgpt-plus-api: image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-api:v3.1.8.1 container_name: chatgpt-plus-api restart: always depends_on: - chatgpt-plus-mysql - chatgpt-plus-redis environment: - DEBUG=false - LOG_LEVEL=info - CONFIG_FILE=config.toml ports: - "5678:5678" - "9999:9999" volumes: - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime - ./conf/config.toml:/var/www/app/config.toml - ./logs:/var/www/app/logs - ./static:/var/www/app/static

前端应用

chatgpt-plus-web: image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-web:v3.1.8.1 container_name: chatgpt-plus-web restart: always depends_on: - chatgpt-plus-api ports: - "8080:8080" volumes: - ./logs/nginx:/var/log/nginx - ./conf/nginx/conf.d:/etc/nginx/conf.d - ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf - ./ssl:/etc/nginx/ssl

cq134cq avatar Feb 29 '24 07:02 cq134cq