DockHand

Dockhand is a modern, powerful Docker management platform with a clean UI, built for homelabs and enterprises. It centralizes container, stack, and multi‑node management into one fast, intuitive interface, with zero telemetry and optional enterprise‑grade features.

This guide will walk you through setting up DockHand on your private network.

Key Features

Modern, intuitive UI

- A clean, fast interface for managing containers, images, networks, volumes, and stacks.

Multi‑node management

- Dockhand can manage multiple Docker hosts using its companion agent Hawser.

Zero‑config quick start

- Up and running in 30 seconds with a single Docker command.

Activity logging & auditing

- Tracks container actions and system changes.

🚀 Docker Installation Steps

  1. Update your system
    sudo apt update && sudo apt upgrade -y
  2. Install Docker
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
  3. Install Docker Compose
    sudo apt install docker-compose-plugin
  4. Add your user to the Docker group
    sudo usermod -aG docker $USER
  5. Enable Docker at boot
    sudo systemctl enable docker
  6. Reboot
    sudo reboot
  7. Test Docker
    docker run hello-world

📁 Setup DockHand

DockHand can run standalone or in a client/server model. For standalone and client/server, do the following on the main node (i.e. the "server"):

mkdir ~/docker
mkdir ~/docker/dockhand

🧾 Docker Compose File

In ~/docker/dockhand create docker-compose.yml

services:
  dockhand:
    image: fnsys/dockhand:latest
    container_name: dockhand
    restart: unless-stopped
    ports:
      - 3000:3000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data

If you want clients, on each client machine, install docker, create the directories, and create this docker-compose.yml:

services:
  hawser:
    image: ghcr.io/finsys/hawser:latest
    container_name: hawser
    restart: unless-stopped
    ports:
      - "2376:2376"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      # Optional: set a custom name for this node
      - HAWSER_NODE_NAME=Raspberry-Pi
      # Optional: enable TLS if you want encrypted communication
      # - HAWSER_TLS_ENABLED=true

▶️ Start DockHand

From within ~/docker/dockhand, on the server and clients, run:

docker compose up -d

📜 View Logs

On the server:

docker logs dockhand

On the clients:

docker logs hawser

🌐 Access Web Interface

Open your browser and go to "http://<YOUR_SERVER_IP_ADDRESS>:3000

Add an admin user by clicking on Settings -- Authentication -- Users -- Add User. Once you add a user, where is says Authentication OFF, click on the OFF and it will turn to ON.

Next, click on Dashboard and add an environment for your server. You want the Connection Type to be UNIX Socket.

Now add your clients. The Connection Type will be Hawser agent (standard).

If you find my content useful, please consider supporting this page:

☕ Buy Me a Coffee