[GH-ISSUE #2117] Docker Container View not Displaying Containers #14958

Open
opened 2026-05-16 03:07:44 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @cmacnichol on GitHub (Dec 18, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/2117

Describe the Bug

The Site Target Docker Selector does not display any information when the docker container count is greater than 20-22 containers.

Did a test with a new connection and debug logs enabled with 55 containers enabled.

From the VPS

pangolin  | 2025-12-18T15:25:28.655915975Z 2025-12-18T15:25:28+00:00 [info]: Handling Docker containers response
pangolin  | 2025-12-18T15:25:28.657640270Z 2025-12-18T15:25:28+00:00 [info]: Newt ID: wc7kosv05rrhjv0, Site ID: 2
pangolin  | 2025-12-18T15:25:28.659236753Z 2025-12-18T15:25:28+00:00 [info]: Docker containers for Newt wc7kosv05rrhjv0: 55
pangolin  | 2025-12-18T15:25:28.667629634Z 2025-12-18T15:25:28+00:00 [debug]: Received Docker blueprint: {"proxy-resources":{},"client-resources":{}}

From the Docker Host

newt  | 2025-12-18T15:25:28.472298792Z DEBUG: 2025/12/18 15:25:28 Triggering callback with 55 containers after Docker event start
newt  | 2025-12-18T15:25:28.472307228Z DEBUG: 2025/12/18 15:25:28 Docker event detected, sending updated container list (55 containers)
newt  | 2025-12-18T15:25:28.472313972Z DEBUG: 2025/12/18 15:25:28 Sending message: newt/socket/containers, data: map[containers:[{ID:66ff491f9d12 Name:n8n Image:docker.n8n.io/n8nio/n8n State:running Status:Up 8 hours Ports:[{PrivatePort:5678 PublicPort:5678 Type:tcp IP:0.0.0.0} {PrivatePort:5678 PublicPort:5678 Type:tcp IP:::}] Labels:map[com.docker.compose.config-hash:e31b090bb4536d6c535a4506f47ca20010ec13cbb32334ea4fa45d5a0a8f3e4b com.docker.compose.container-number:1 com.docker.compose.depends_on:postgresql:service_healthy:false com.docker.compose.image:sha256:dd1328871d00a1c
.....
.....
newt  | 2025-12-18T15:25:28.571488258Z DEBUG: 2025/12/18 15:25:28 Updated container list sent successfully

Dropped the container count down to 5 and the display worked as it should. Slowly increasing to 20-22 and the display stopped working.

Environment

  • OS Type & Version: Ubuntu 24.04
  • Pangolin Version: 1.13.0
  • Gerbil Version: 1.2.2
  • Traefik Version: 3.6.4
  • Newt Version: 1.7.0
  • Olm Version: NA

Also using Socket-Proxy for the docker socket connection.

To Reproduce

Bring up more than 20+ containers in Docker. This will, at least in my environment, will prevent this containers from showing in Pangolin.

Expected Behavior

Pangolin Site should display all docker containers when using the target docker selector.

Originally created by @cmacnichol on GitHub (Dec 18, 2025). Original GitHub issue: https://github.com/fosrl/pangolin/issues/2117 ### Describe the Bug The Site Target Docker Selector does not display any information when the docker container count is greater than 20-22 containers. Did a test with a new connection and debug logs enabled with 55 containers enabled. From the VPS ```text pangolin | 2025-12-18T15:25:28.655915975Z 2025-12-18T15:25:28+00:00 [info]: Handling Docker containers response pangolin | 2025-12-18T15:25:28.657640270Z 2025-12-18T15:25:28+00:00 [info]: Newt ID: wc7kosv05rrhjv0, Site ID: 2 pangolin | 2025-12-18T15:25:28.659236753Z 2025-12-18T15:25:28+00:00 [info]: Docker containers for Newt wc7kosv05rrhjv0: 55 pangolin | 2025-12-18T15:25:28.667629634Z 2025-12-18T15:25:28+00:00 [debug]: Received Docker blueprint: {"proxy-resources":{},"client-resources":{}} ``` From the Docker Host ```text newt | 2025-12-18T15:25:28.472298792Z DEBUG: 2025/12/18 15:25:28 Triggering callback with 55 containers after Docker event start newt | 2025-12-18T15:25:28.472307228Z DEBUG: 2025/12/18 15:25:28 Docker event detected, sending updated container list (55 containers) newt | 2025-12-18T15:25:28.472313972Z DEBUG: 2025/12/18 15:25:28 Sending message: newt/socket/containers, data: map[containers:[{ID:66ff491f9d12 Name:n8n Image:docker.n8n.io/n8nio/n8n State:running Status:Up 8 hours Ports:[{PrivatePort:5678 PublicPort:5678 Type:tcp IP:0.0.0.0} {PrivatePort:5678 PublicPort:5678 Type:tcp IP:::}] Labels:map[com.docker.compose.config-hash:e31b090bb4536d6c535a4506f47ca20010ec13cbb32334ea4fa45d5a0a8f3e4b com.docker.compose.container-number:1 com.docker.compose.depends_on:postgresql:service_healthy:false com.docker.compose.image:sha256:dd1328871d00a1c ..... ..... newt | 2025-12-18T15:25:28.571488258Z DEBUG: 2025/12/18 15:25:28 Updated container list sent successfully ``` Dropped the container count down to 5 and the display worked as it should. Slowly increasing to 20-22 and the display stopped working. ### Environment - OS Type & Version: Ubuntu 24.04 - Pangolin Version: 1.13.0 - Gerbil Version: 1.2.2 - Traefik Version: 3.6.4 - Newt Version: 1.7.0 - Olm Version: NA Also using Socket-Proxy for the docker socket connection. ### To Reproduce Bring up more than 20+ containers in Docker. This will, at least in my environment, will prevent this containers from showing in Pangolin. ### Expected Behavior Pangolin Site should display all docker containers when using the target docker selector.
GiteaMirror added the bug label 2026-05-16 03:07:44 -05:00
Author
Owner

@oschwartz10612 commented on GitHub (Dec 19, 2025):

Thanks for the writeup!

Thinking we need to split up the websocket json messages to Pangolin because they are too big and are getting lost.

Will mean we need to reassemble on the other side but I think this can be done into the cache.

<!-- gh-comment-id:3675375039 --> @oschwartz10612 commented on GitHub (Dec 19, 2025): Thanks for the writeup! Thinking we need to split up the websocket json messages to Pangolin because they are too big and are getting lost. Will mean we need to reassemble on the other side but I think this can be done into the cache.
Author
Owner

@jaydeep-pipaliya commented on GitHub (Apr 9, 2026):

Hi, I'd like to work on this! Could I be assigned?

Based on the maintainer's analysis, the fix is to chunk large WebSocket messages (like Docker container lists) so they don't get dropped when the payload exceeds the frame size limit. I'll implement message chunking on the newt side and reassembly on the pangolin side.

<!-- gh-comment-id:4211630356 --> @jaydeep-pipaliya commented on GitHub (Apr 9, 2026): Hi, I'd like to work on this! Could I be assigned? Based on the maintainer's analysis, the fix is to chunk large WebSocket messages (like Docker container lists) so they don't get dropped when the payload exceeds the frame size limit. I'll implement message chunking on the newt side and reassembly on the pangolin side.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#14958