Hello.
I am running a collabora container following the documentation guide, but cannot get it to accept requests. Using image collabora/code:25.04.5.1.1
I always get an “Empty reply from the server” message:
This even happens If I curl collabora inside it´s own container:
* Host localhost:9980 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:9980...
* Connected to localhost (::1) port 9980
* using HTTP/1.x
> GET / HTTP/1.1
> Host: localhost:9980
> User-Agent: curl/8.14.1
> Accept: */*
>
* Request completely sent off
* Empty reply from server
* shutting down connection #0
curl: (52) Empty reply from server
I don´t see anything special in the logs. I see the server is listening on the expected port:
│ Sec-WebSocket-Key: IQtLzx6G8Z7cTZNWstaRgg== │
│ Sec-WebSocket-Version: 13 │
│ Accept-Language: en │
│ Cache-Control: no-cache │
│ Pragma: no-cache │
│ | net/HttpRequest.cpp:159 │
│ wsd-00001-00021 2025-09-07 09:11:45.578108 +0000 [ prisoner_poll ] TRC #17: Child connection with URI [/coolws/newchild │
│ wsd-00001-00021 2025-09-07 09:11:45.578155 +0000 [ prisoner_poll ] TRC #17: New child spawned after 5164ms of requestin │
│ wsd-00001-00021 2025-09-07 09:11:45.578202 +0000 [ prisoner_poll ] INF #17: New child [27], jailId: RAjnO82DUo2TrgLH, c │
│ wsd-00001-00021 2025-09-07 09:11:45.578206 +0000 [ prisoner_poll ] TRC #17: Calling make_shared<ChildProcess>, for NewC │
│ wsd-00001-00021 2025-09-07 09:11:45.578207 +0000 [ prisoner_poll ] TRC #17: Upgrading to WebSocket| net/WebSocketHandle │
│ wsd-00001-00021 2025-09-07 09:11:45.578224 +0000 [ prisoner_poll ] INF #17: WebSocket version: 13, key: [IQtLzx6G8Z7cTZ │
│ wsd-00001-00021 2025-09-07 09:11:45.578238 +0000 [ prisoner_poll ] TRC #17: Sending WS Upgrade response: Date: Sun, 07 │
│ Server: │
│ Upgrade: websocket │
│ Connection: Upgrade │
│ Sec-WebSocket-Accept: 0L1feMcWn6AZa5RR4LQkPnzA/j0= │
│ | net/WebSocketHandler.hpp:1051 │
│ wsd-00001-00021 2025-09-07 09:11:45.578248 +0000 [ prisoner_poll ] TRC #17: Wrote 173 bytes of 173 buffered data| net/S │
│ wsd-00001-00021 2025-09-07 09:11:45.578255 +0000 [ prisoner_poll ] INF ChildProcess ctor [27].| wsd/Process.hpp:40 │
│ wsd-00001-00021 2025-09-07 09:11:45.578265 +0000 [ prisoner_poll ] TRC Adding a new child 27 with config to NewChildre │
│ wsd-00001-00021 2025-09-07 09:11:45.578268 +0000 [ prisoner_poll ] INF Have 1 spare child after adding [27]. Notifying. │
│ wsd-00001-00021 2025-09-07 09:11:45.578283 +0000 [ prisoner_poll ] TRC #16: Handling poll events of prisoner_poll at in │
│ wsd-00001-00021 2025-09-07 09:11:45.578310 +0000 [ prisoner_poll ] TRC #15: Handling poll events of prisoner_poll at in │
│ wsd-00001-00021 2025-09-07 09:11:45.578315 +0000 [ prisoner_poll ] TRC #15: setupPollFds getPollEvents: 0x1| net/Socket │
│ wsd-00001-00021 2025-09-07 09:11:45.578317 +0000 [ prisoner_poll ] TRC #16: setupPollFds getPollEvents: 0x1| net/Socket │
│ wsd-00001-00021 2025-09-07 09:11:45.578319 +0000 [ prisoner_poll ] TRC #17: setupPollFds getPollEvents: 0x1| net/Socket │
│ wsd-00001-00001 2025-09-07 09:11:40.413735 +0000 [ coolwsd ] INF Waiting for a new child for a max of 20000ms| wsd/COOL │
│ wsd-00001-00001 2025-09-07 09:11:45.578364 +0000 [ coolwsd ] TRC Have 1 new children.| wsd/COOLWSD.cpp:3791 │
│ Ready to accept connections on port 9980. │
│ │
│ frk-00022-00022 2025-09-07 09:11:45.566651 +0000 [ forkit ] INF Forked kit [27]| kit/ForKit.cpp:567 │
│ frk-00022-00022 2025-09-07 09:11:45.566701 +0000 [ forkit ] TRC Forking child took 9ms| kit/ForKit.cpp:578 │
│ frk-00022-00022 2025-09-07 09:11:45.566711 +0000 [ forkit ] INF Forkit initialization complete: setting log-level to [w │
│ frk-00022-00022 2025-09-07 09:11:45.580328 +0000 [ forkit ] WRN The systemplate directory [/opt/cool/systemplate] is re │
│ frk-00022-00022 2025-09-07 09:11:45.591550 +0000 [ forkit ] WRN The systemplate directory [/opt/cool/systemplate] is re │
│ frk-00022-00022 2025-09-07 09:11:45.602860 +0000 [ forkit ] WRN The systemplate directory [/opt/cool/systemplate] is re │
│ kit-00027-00027 2025-09-07 09:11:45.577990 +0000 [ kit_spare_001 ] TRC #25: Set socket buffer size to 262144| net/Socke │
│ kit-00027-00027 2025-09-07 09:11:45.577994 +0000 [ kit_spare_001 ] INF New kit client websocket inserted.| kit/Kit.cpp: │
│ kit-00027-00027 2025-09-07 09:11:45.577998 +0000 [ kit_spare_001 ] INF Kit initialization complete: setting log-level t │
│ wsd-00001-00021 2025-09-07 09:11:45.578333 +0000 [ prisoner_poll ] TRC ppoll start, timeoutMicroS: 17988773 size 3| net │
│ wsd-00001-00001 2025-09-07 09:11:45.578378 +0000 [ coolwsd ] INF WSD initialization complete: setting log-level to [war │
│
I didn´t setup a reverse proxy, as collabora will be running in my internal Kubernetes cluster, and will only be accessible by nextcloud, using the internal service.