chatpire / chatgpt-web-share

ChatGPT Plus 共享方案。ChatGPT Plus / OpenAI API sharing solution.
https://cws-docs.pages.dev/zh/
GNU General Public License v3.0
4.26k stars 676 forks source link

前端Request Error,查看log报错pymongo.errors.ServerSelectionTimeoutError: mongo:27017: [Errno 111] Connection refused #367

Closed Longwt123 closed 7 months ago

Longwt123 commented 7 months ago

Version v0.x.x

What's your deploying environment?

Describe the problem 请问运行语句这样写可以吗? docker run -it --rm \ -v $PWD/data/config:/tmp/config \ ghcr.io/chatpire/chatgpt-web-share:latest \ python /app/backend/manage.py create_config -O /tmp/config --generate-secrets --mongodb-url "mongodb://cws:${MONGODB_PASSWORD}@149.111.19.106:27017" --initial-admin-password "${INITIAL_ADMIN_PASSWORD}" --chatgpt-base-url http://ninja:7999/backend-api/

我也试过 docker run -it --rm \ -v $PWD/data/config:/tmp/config \ ghcr.io/chatpire/chatgpt-web-share:latest \ python /app/backend/manage.py create_config -O /tmp/config --generate-secrets --mongodb-url "mongodb://cws:${MONGODB_PASSWORD}@mongo:27017" --initial-admin-password "${INITIAL_ADMIN_PASSWORD}" --chatgpt-base-url http://ninja:7999/backend-api/

mongo已经测试可以使用。账号有cws和root。 请问如何测试mongo是否外部能连接? (我直接ip+默认端口号会It looks like you are trying to access MongoDB over HTTP on the native driver port.) (我在mongo中使用mongo-url如mongodb://cws:xxx@mongo:27017可以用db查看到我创建的test集合)

请问大概是什么问题?是否需要先Har配置好?我现在卡在文档2.最后,无法登录。

Screenshots or running logs 2024/02/04 23:22:09.093 ERROR: [uvicorn.error] Application startup failed. Exiting. {"level":"info","ts":1707060131.22371,"msg":"using provided configuration","config_file":"/app/Caddyfile","config_adapter":"caddyfile"} {"level":"info","ts":1707060131.2276824,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]} {"level":"warn","ts":1707060131.2283454,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv0","http_port":80} {"level":"info","ts":1707060131.2311606,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]} {"level":"info","ts":1707060131.2328303,"msg":"autosaved config (load with --resume flag)","file":"/root/.config/caddy/autosave.json"} {"level":"info","ts":1707060131.2330174,"msg":"serving initial configuration"} {"level":"info","ts":1707060131.2340143,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0003b2f00"} {"level":"warn","ts":1707060131.2377346,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/root/.local/share/caddy","instance":"be649c3d-9e53-41ff-b7b1-3bba97f51c5b","try_again":1707146531.2377324,"try_again_in":86399.999999452} {"level":"info","ts":1707060131.2379777,"logger":"tls","msg":"finished cleaning storage units"} Successfully started Caddy (pid=11) - Caddy is running in the background /usr/local/lib/python3.10/site-packages/pydantic/_internal/_fields.py:149: UserWarning: Field "model_codemapping" has conflict with protected namespace "model".

You may be able to resolve this warning by setting model_config['protected_namespaces'] = (). warnings.warn( /usr/local/lib/python3.10/site-packages/pydantic/_migration.py:283: UserWarning: pydantic.generics:GenericModel has been moved to pydantic.BaseModel. warnings.warn(f'{import_path} has been moved to {new_location}.') 2024/02/04 23:22:15.970 INFO: [uvicorn.error] Started server process [1] 2024/02/04 23:22:15.971 INFO: [uvicorn.error] Waiting for application startup. 2024/02/04 23:22:15.978 INFO: [cws.api.database.sqlalchemy] Database initialized. 2024/02/04 23:22:46.150 ERROR: [uvicorn.error] Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 677, in lifespan async with self.lifespan_context(app) as maybe_state: File "/usr/local/lib/python3.10/contextlib.py", line 199, in aenter return await anext(self.gen) File "/app/backend/main.py", line 107, in lifespan await startup() File "/app/backend/main.py", line 43, in startup await init_mongodb() File "/app/backend/api/database/mongodb.py", line 19, in init_mongodb await init_beanie(database=client[config.data.mongodb_db_name], File "/usr/local/lib/python3.10/site-packages/beanie/odm/utils/init.py", line 754, in init_beanie await Initializer( File "/usr/local/lib/python3.10/site-packages/beanie/odm/utils/init.py", line 129, in await yield from self.init_class(model).await() File "/usr/local/lib/python3.10/site-packages/beanie/odm/utils/init.py", line 717, in init_class await self.init_document(cls) File "/usr/local/lib/python3.10/site-packages/beanie/odm/utils/init.py", line 540, in init_document build_info = await self.database.command({"buildInfo": 1}) File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, *self.kwargs) File "/usr/local/lib/python3.10/site-packages/pymongo/_csot.py", line 107, in csot_wrapper return func(self, args, **kwargs) File "/usr/local/lib/python3.10/site-packages/pymongo/database.py", line 890, in command with self.__client._conn_for_reads(read_preference, session) as ( File "/usr/local/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1346, in _conn_for_reads server = self._select_server(read_preference, session) File "/usr/local/lib/python3.10/site-packages/pymongo/mongo_client.py", line 1303, in _select_server server = topology.select_server(server_selector) File "/usr/local/lib/python3.10/site-packages/pymongo/topology.py", line 302, in select_server server = self._select_server(selector, server_selection_timeout, address) File "/usr/local/lib/python3.10/site-packages/pymongo/topology.py", line 286, in _select_server servers = self.select_servers(selector, server_selection_timeout, address) File "/usr/local/lib/python3.10/site-packages/pymongo/topology.py", line 237, in select_servers server_descriptions = self._select_servers_loop(selector, server_timeout, address) File "/usr/local/lib/python3.10/site-packages/pymongo/topology.py", line 259, in _select_servers_loop raise ServerSelectionTimeoutError( pymongo.errors.ServerSelectionTimeoutError: mongo:27017: [Errno 111] Connection refused (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms), Timeout: 30s, Topology Description: <TopologyDescription id: 65bfaba7ed7eca50a2e362f3, topology_type: Unknown, servers: [<ServerDescription ('mongo', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongo:27017: [Errno 111] Connection refused (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>]>

2024/02/04 23:22:46.154 ERROR: [uvicorn.error] Application startup failed. Exiting.

回复: 你好,我使用firewall-cmd --zone=public --add-port=27017/tcp --permanent开启防火墙端口 并且使用firewall-cmd --list-ports查看,27017是可以的 我是阿里云服务器,这会有所影响吗?

我将防火墙禁用了还是不行。 我发现我的mongo的docker一直在Restarting状态,不知道为什么,这是否是原因?

aprpure commented 7 months ago

"mongo:27017" 处连接被拒绝“,防火墙的端口开了吗?

Longwt123 commented 7 months ago

你好,我的问题解决了,现在能进入管理(虽然还用不了 -(TAT)- ) 我是先将mong_data文件删除(以免用其他mongo容器时冲突) 然后 vim docker-compose.yml 修改“mongo:6.0”为“mongo:6.0-focal” 停止并删除三个相关容器,重新docker-compose up -d就行了。

lxz2014 commented 7 months ago

你这个 “You may be able to resolve this warning by setting model_config['protected_namespaces'] = ().” 如何解决的?我也遇到了