Er is een enorme keuze aan beheersoftware voor Docker containers en een aantal heb ik al besproken op mijn blog. Ik heb er echter nu 1 gevonden die alles kan wat ik wil (inclusief het beheren van externe Docker Containers) en bovendien ook nog een mooie en intuïtieve user-interface heeft: Dockhand. Dockhand heeft zoveel functies en werkt zo goed dat ik Docker Containers ‘Arcane’, ‘Cup’, ‘Dockwatch’ ‘Dozzle’ en ‘Portainer’ heb verwijderd daar ik die nu niet meer nodig heb.

Zie ook de volgende YouTubes met een introductie tot Dockhand.






Dockhand is een self-hosted Docker-beheerplatform dat diep geïntegreerd is met Git voor gestroomlijnde container implementatie, beheer en beveiliging. Je beheert visueel Docker-omgevingen, implementeert deze vanuit repositories en je kunt wijzigingen automatisch synchroniseren. Het vereenvoudigt complexe workflows met behulp van web-UI’s, CLI-tools en Kubernetes-operators voor het bouwen en pushen van images.

Installatie

Om Dockhand te installeren in een Docker Container maak je een ‘docker-compose.yml’ file aan met de volgende inhoud (pas ‘Volumes’ sectie aan naar jouw behoeften):

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

Start de docker op met het commando ‘docker compose up -d’. De service is nu beschikbaar op de volgende URL:

http://localhost:3333

Configureren externe servers

Om de Docker containers van externe servers te monitoren moet je op deze externe servers de Hawser client installeren. Ook dit doe je met een Docker Container door een ‘docker-compose.yml’ file op deze externe server aan te maken met de volgende inhoud (pas ‘Volumes’ sectie aan naar jouw behoeften):

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
      - ./stacks:/data/stacks
    environment:
      - DOCKHAND_SERVER_URL=ws://<docker_server_ip>:3333/api/hawser/connect
      - TOKEN=geheim_token

De DOCKHAND_SERVER_URL en TOKEN moet je genereren in je Dockhand Server door in het Dashboard een ‘environment’ toe te voegen. Kies vervolgens als connection ‘Hawser Agent (edge)’ en druk de [Generate] button.




Neem deze gegevens over voor je ‘docker-compose.yml’ file van je externe server en start deze op met het commando ‘docker compose up -d’.

Screenshots

Hieronder zie je een aantal screenshots hoe Dockhand eruit ziet en wat je er allemaal mee kunt doen:


















Meer informatie over Dockhand kun je in de handleiding vinden.

Conclusie

Dockhand is ‘alles-in-1 ‘beheer-software voor je Docker Containers op je server en externe servers. Het heeft een geweldige user-interface en werkt erg intuïtief. Ik kan iedereen deze software van harte aanbevelen.