Appearance
Docker
Open Settings → Docker. This tab connects Home Lab to one or more Docker hosts through a socket-proxy, so it can show container status on cards and start / stop / restart containers from the UI.
Why a socket-proxy?
Home Lab never touches the Docker socket directly. Instead it talks to a tecnativa/docker-socket-proxy sidecar that exposes only a limited subset of the Docker API. This keeps the raw socket out of the dashboard's reach.
Add a server
The Docker tab has an Add a server section with a ready-to-copy compose file - deploy it on each host you want to manage:
yaml
services:
dockerproxy:
image: ghcr.io/tecnativa/docker-socket-proxy:latest
container_name: dockerproxy
restart: unless-stopped
ports:
- "2375:2375" # PRIVATE / VPN network only
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
CONTAINERS: 1 # list / start / stop / restart
POST: 1 # required for any control action
IMAGES: 1 # Images tab
VOLUMES: 1 # Volumes tab
NETWORKS: 1 # Networks tab
INFO: 1 # disk usage
EXEC: 1 # interactive container shells (Terminal)
DISTRIBUTION: 1 # "check updates"Each environment flag is a capability - enable only what you want Home Lab to do. POST is required for any control action; EXEC powers the Terminal container shells.
Keep 2375 private
The proxy is root-equivalent. Only expose port 2375 on a trusted network - Tailscale, WireGuard, or a shared Docker network - never the public internet.
Configure the connection
In the Docker tab, Add proxy:
| Field | Example |
|---|---|
| Name | pi5 |
| URL | http://10.0.0.5:2375 (or http://dockerproxy:2375 on the same network) |
| Enabled | toggle on |
Add one proxy per host to manage containers across several servers.
Linking cards to containers
Set a service's Container field (in the service dialog) to the container's name. The service card's status dot then reflects the real state - and the container shows that service's icon on the Docker page.
Managing containers
Container management lives on its own page - open Docker in the sidebar for containers, stacks, images, volumes, networks, logs, live stats, a command runner and daily auto-updates. See Docker management.
Permissions
Enable only the capabilities you use. The basics (CONTAINERS, POST, START, STOP, RESTART) cover status + lifecycle. The management page can do more if you opt in - stacks need IMAGES / NETWORKS / VOLUMES, the command runner needs EXEC, and update-checks need DISTRIBUTION. Full matrix in Docker management → Proxy capabilities. The socket stays mounted read-only into the proxy.