Dockhand - Docker Management for everyone…
I have seen a lot of the people I follow on YouTube talking about this project, well if they are not talking about ClawdBot, OpenClaw or whatever it is called these days. So wanted to take a look here. I am still a big fan of what Portainer are doing in this space, but it is always worth keeping an eye on other cool tech that is being spoken about.
There is a free for homelab option so we can get stuck into that here. It runs as a docker container alongside your existing containers. It uses SQLite by default and looks to be able to run anywhere. Pretty Cool
Setup
Super easy to get going there is a simple docker run command shown below that will get you up and running, This can be used not only to visualise and manage your local docker where you deploy but also you can add external docker hosts.
Not everyone loves the cli commands that are available for docker, this provides a quick and easy UI experience for you to manage your docker containers, can be to simply update your images.
Logs and Shell are another easy step that is a capability from the UI vs having to remember the docker commands from the CLI.
docker run -d \
--name dockhand \
--restart unless-stopped \
-p 3000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v dockhand_data:/app/data \
fnsys/dockhand:latest
There are also options for Docker-Compose and options to use PostgreSQL if that is preferred.
Now we should be able to open http://localhost:3000
Management
One thing I know I am bad at is leaving hefty images scattered across my docker hosts, this is a great way to quickly visualise and remove old images that are potentially taking up loads of space.
There are also automatic updates for the Dockhand container image itself but also you could automatic update your docker containers automatically here as well if you want. Out of the box these are both disabled.
It has the ability to add Git based repositories for your stacks that you are storing in GitHub or other Git based services.
Notifications can be enabled
Authentication can be configured with some simple local users, but there is also SSO. Roles and LDAP can be enabled in the paid for version.
Multiple environments - If your home lab is anything like mine, you have various docker hosts across the network. You can add these hosts into the same central management with a few simple commands to allow access but also via a Docker container deployed on those hosts. This is done by the Hawser Agent if using the docker container.
docker run -d \
--name hawser \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 2376:2376 \
-e TOKEN=your-secret-token \
ghcr.io/finsys/hawser:latest
I hope to be able to get more hands-on and extend this blog into a video on 90DaysOfDevOps
If you want to take a look then Dockhand