Diagnostics & Troubleshooting
Solutions for port conflicts, Docker socket permissions, shared memory sizing, and GPU hardware passthrough.
Diagnostics & Troubleshooting
Common troubleshooting steps and solutions for running containerized Linux desktops with webtop-manage.
โก 1. Port Conflicts & Auto-Allocation
Problem
Attempting to launch an instance results in Port conflict on 3000 or bind: address already in use.
Solution
- Automated Scan: In the Custom Blueprint wizard or via the API, click the Scan Next Port icon (๐).
webtop-manageverifies port availability by attempting test socket binds. - Custom Base Port: If ports
3000-3050are used by other local services (e.g. Grafana, React dev servers), configureBASE_PORT=4000in your environment orconfig.json.
๐ 2. Docker Daemon Socket Permissions
Problem
Fatal: Failed to connect to Docker daemon: permission denied or failed to ping docker daemon.
Solution
Linux Host
Ensure your local user belongs to the docker group, or verify that /var/run/docker.sock is accessible:
# Add current user to docker group
sudo usermod -aG docker $USER
newgrp docker
# Or adjust socket permissions (development only)
sudo chmod 666 /var/run/docker.sock
Windows Host (Docker Desktop)
- Make sure Docker Desktop is running.
webtop-manageautomatically falls back betweennpipe:////./pipe/docker_engineand standard environment settings.- In WSL2, enable Docker integration for your distro in Docker Desktop Settings $\rightarrow$ Resources $\rightarrow$ WSL Integration.
macOS Host
webtop-manage automatically probes both /var/run/docker.sock and ~/.docker/run/docker.sock.
๐ง 3. Shared Memory (/dev/shm) Sizing for Browsers & IDEs
Problem
Chromium, Firefox, VS Code, or Electron apps crash inside the desktop container with SIGSEGV, SIGBUS, or Aw, Snap!.
Cause
Docker's standard default shared memory is only 64 MB, which is insufficient for modern multi-tab browser render trees and GPU compositing.
Solution
webtop-manage automatically sets --shm-size based on preset recommendations:
| Workload | Recommended /dev/shm | Notes |
|---|---|---|
| Standard Development | 1024 MB (1 GB) | Default for XFCE templates. |
| Heavy Browsing / Multiple Tabs | 2048 MB (2 GB) | Default for KDE Plasma templates. |
| Heavy Video / 4K / Multiple IDEs | 4096 MB (4 GB) | Configurable in Custom Blueprint wizard. |
๐ฎ 4. GPU Hardware Acceleration Passthrough
Intel QuickSync / Integrated GPU (/dev/dri)
When Enable Hardware Acceleration is checked, webtop-manage passes /dev/dri render nodes with rwm permissions:
devices:
- /dev/dri:/dev/dri
NVIDIA Discrete GPUs
Install the NVIDIA Container Toolkit on your host. If using Docker Compose:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
๐ 5. Common Error Messages & Remedies
| Error Message | Probable Cause | Immediate Remedy |
|---|---|---|
host path ... is restricted for system security | Attempted mount to /etc, /proc, /root/.ssh, etc. | Select a standard user project folder (e.g. ~/projects/... or /data/workspace/...). |
image parameter is required | Sent empty image tag to catalog check endpoint. | Provide full image tag (e.g. lscr.io/linuxserver/webtop:ubuntu-xfce). |
instance not found | Container was deleted outside webtop-manage. | Click the Refresh button on the dashboard. |
streaming unsupported | Reverse proxy buffer stripped HTTP flusher headers. | Enable unbuffered streaming (proxy_buffering off; in Nginx). |