Skip to content

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:

FieldExample
Namepi5
URLhttp://10.0.0.5:2375 (or http://dockerproxy:2375 on the same network)
Enabledtoggle 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.

Next steps