Dashy statt Dalli-Dalli

Dashy statt Dalli-Dalli

Oder: Wie ich dachte, in fünf Minuten ein Dashboard aufzusetzen – und stattdessen Docker volumes zerlegt habe.

🛸 Der Plan

Klarer Auftrag: Ein schickes Self-Hosting-Dashboard. Leicht, schnell, hübsch.
Dashy war gesetzt, das Design stimmte, die Idee sowieso:

„Ein Ort für alles, was das Nerd-Herz im Netzwerk bewegt.“
Dienste, Status, Tools. Klick → da. Kein Login, keine Komplexität. Klingt gut, oder?

Doch wie so oft bei Nerdprojekten, hieß es bald:
„Lass mich mal kurz...“ – und sechs Terminal-Tabs später stand ich Knie-Tief im Nerdschungel.


🚧 Erste Runde: Alles läuft, aber falsch

Ich startete mit dem Image lissy93/dashy:arm64v8. Es baute, es startete, es zeigte...
🤡 die Standard-Konfiguration. Immer wieder.

Egal ob ich meine eigene conf.yml bereitstellte, neu startete, yarn build ausführte oder drei Mal docker exec sagte – Dashy ignorierte alles.

Und als ich dachte, ich hätte den Fehler gefunden (Datei vs. Verzeichnis – danke, cat: Is a directory)…

…schrieb Dashy die Standardkonfiguration bei jedem Start einfach wieder neu drüber.
Wie ein Tintenfisch mit Reset-Knopf.

🔁 Zweite Runde: Wechsel auf :latest

Der entscheidende Aha-Moment kam beim Blick auf die Container-Logs und ein beherztes docker inspect:

"Destination": "/app/user-data/conf.yml",
"Type": "bind",
"Mode": "rw",

Ein sauberer Mount – aber das falsche Image.

Lösung:

  • Umstieg auf lissy93/dashy:latest
  • Setzen des Ports auf 4000:8080 (weil latest intern auf 8080 lauscht)
  • Mount readonly (:ro) und in der YAML configSource: file
volumes:
  - /opt/dashy/my-config.yml:/app/user-data/conf.yml:ro

Dazu:

configSource: file

Und siehe da:
🧞 Dashy las endlich meine eigene Konfiguration – und merkte sie sich auch!


🖼️ Das Ergebnis

Ein klickbares Cockpit für all meine Tools – von n8n über OpenWebUI, BookStack, MinIO, Grafana, bis zu den lokalen Tools.

Ein Ort für Nerdkultur, Automatisierung & Admin-Sanity.

✅ Lessons learned

  • docker volume killt gerne deine mühsam vorbereitete conf.yml, wenn du nicht aufpasst.
  • dashy:latest ist deutlich robuster als arm64v8, auch auf ARM-Geräten.
  • Wenn Dashy dich ignoriert, ist meist ein lokales Volume oder ein falscher Port schuld.
  • configSource: file + readonly-Mount ist der Schlüssel zur Zen-Ruhe.

🔮 Ausblick

Weitere Dashy-Karten sind geplant – unter anderem:

  • Self-Hosted FileDrop
  • Git-GUI für gitea
  • Microservice-Visualisierung per draw.io + staticserver

Und wenn du dein Dashboard auch aufsetzen willst:
→ fang an – und denk dran, Ports sind keine Meinungssache.


Small pixels, big ideas.