App Terminal permanentely Reconnecting
-
OK I am running in circle on this one. So I am hoping some dose of collective wisdom can put me on the right path:
On my Cloudron server (v8.0.6, Ubuntu 24.04.1 LTS), all my apps are in a state of "running" and appear as if they are running correctly (at least each app work the way they are intended).
The issue: no matter which app, when I try to use an app terminal, I am faced with a never ending circle of connecting/reconnecting, without ever being presented with a prompt. Hence the app terminal is unusable.
Tried multiple browsers.
Tried multiple computers.
So I'd venture that this is most likely on the server / Cloudron since there is nothing of significance I can observe network-wise.
However, "cloudron-support --troubleshoot" does not bring up any errors or warnings.Search on the forum did not return anything other that problem isolated to a given app.
Search in the docs did not yield anything significant.What would be the next steps to take to troubleshoot this situation?
-
Thanks @nebulon
(any) Browser console shows the following error, repeating with each re-connection attempt:
Uncaught Error: Could not dispose an addon that has not been loaded _wrappedAddonDispose https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:8 dispose https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:8 activate https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 $ https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 activate https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 loadAddon https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:8 loadAddon https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 setTimeout handler*connect/< https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 setTimeout handler*connect/< https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 setTimeout handler*connect/< https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 setTimeout handler*connect/< https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 setTimeout handler*connect/< https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 setTimeout handler*connect/< https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 setTimeout handler*connect/< https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 terminal-Dbp64GzL.js:8:31585 _wrappedAddonDispose https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:8 dispose https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:8 activate https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: EventListener.handleEvent) $ https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 activate https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 loadAddon https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:8 loadAddon https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 AsyncFunctionNext self-hosted:807 (Async: async) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: setTimeout handler) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: EventListener.handleEvent) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 AsyncFunctionNext self-hosted:807 (Async: async) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: setTimeout handler) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: EventListener.handleEvent) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 AsyncFunctionNext self-hosted:807 (Async: async) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: setTimeout handler) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: EventListener.handleEvent) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 AsyncFunctionNext self-hosted:807 (Async: async) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: setTimeout handler) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: EventListener.handleEvent) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 AsyncFunctionNext self-hosted:807 (Async: async) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: setTimeout handler) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: EventListener.handleEvent) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 AsyncFunctionNext self-hosted:807 (Async: async) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: setTimeout handler) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: EventListener.handleEvent) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 AsyncFunctionNext self-hosted:807 (Async: async) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: setTimeout handler) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 (Async: EventListener.handleEvent) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9 AsyncFunctionNext self-hosted:807 (Async: async) connect https://url-of-cloudron-server.here/frontend/assets/terminal-Dbp64GzL.js:9
The following is also present in a similar manner:
GET wss://url-of-cloudron-server.here/api/v1/apps/f2f6e4a2-7c5b-4c09-85a5-92fbd63aceec/exec/911d8af29d7724ccbd3e741b9e80c1854cbe863ec065b07b21cef11af69d520c/startws?tty=true&rows=32&columns=282&access_token=jbHcIERcTg8tcUJXdqIM4PaQmqVy8wW4tm5FTI8xXNZ NS_ERROR_WEBSOCKET_CONNECTION_REFUSED
-
Quick update - The issue had nothing to do with Cloudron server and everything to do with the Nginx Proxy Manager host sitting in front of the Cloudron server.
Good time to mention that NPM in front of a Cloudron server is not an officially supported Cloudron setup.
Yet, with this being said, once Websockets relay was enabled on NPM proxy host, everything fell into places.
Many many thanks for @nebulon and the cloudron team for their support as always.
-
-