Docker Issues
What each Docker connection error means, how to fix it, and what to include when reporting.
The Docker panel names its failure precisely — each state below maps to one fix. SwiftServer reaches the engine through the Docker socket over SSH, so most problems are socket access, not Docker itself.
"Docker Socket Permission Denied"
Your SSH user cannot read the Docker socket. Apply Docker's standard post-install step on the server:
sudo usermod -aG docker <your-user>Log out and back in (or run newgrp docker), confirm with:
docker psIf docker ps works without sudo, SwiftServer will connect. SwiftServer
never prepends sudo — "works in my terminal with sudo" is this exact
case. Rootless Docker is supported automatically.
"Docker Daemon Unreachable"
Docker is installed but not running:
sudo systemctl start docker # server distrosor launch Docker Desktop / Colima / OrbStack on desktop machines, then Retry.
"Docker Not Installed"
No socket or CLI was found. If your engine lives somewhere unusual,
SwiftServer honors DOCKER_HOST and DOCKER_CONTEXT for the SSH user, and
probes rootless, Colima, OrbStack, and Rancher Desktop socket paths.
"The SSH server refused socket forwarding"
The server's sshd_config disables Unix-socket forwarding. Restore the
OpenSSH default:
AllowStreamLocalForwarding yesthen reload sshd (sudo systemctl reload sshd).
"The Docker daemon API version … is not supported"
The engine is too old for the panel — upgrade Docker to a current release.
Compose projects missing or failing
Projects are discovered from container labels on that machine: a project
started elsewhere, or whose containers were removed, will not appear until
you run docker compose up there once. SwiftServer drives the modern
docker compose plugin — the legacy standalone docker-compose binary is
not supported.
Windows servers
Docker on Windows exposes the engine over a named pipe, which OpenSSH cannot forward — the Docker panel is not available for Windows machines.
What to send
The exact error title from the panel, the server's OS, and the output of:
docker version
id
ls -l /var/run/docker.sockrun in a terminal session as the same SSH user. Those three lines identify nearly every Docker connection problem.