nexdeck
Das Dashboard für den eigenen Server, das sich selbst bewegt. Der Server fragt jeden Dienst in seinem eigenen Takt und schiebt die Änderung in jeden offenen Browser. Zehn geöffnete Tabs kosten einen Dienst eine Anfrage. 79 Anbindungen. Aktionen auf den Karten. Bretter für Schreibtisch, Telefon und Wand.
Was läuft, was da ist, was unterwegs ist
Wer gerade zusieht, wie groß die Sammlung ist, welche Wünsche offen sind, und die Titelbilder von dem, was zuletzt ankam. Daneben die Warteschlangen von Radarr, Sonarr und SABnzbd. Ein Klick auf der Karte hält einen Download an.
Bretter und Karten
Dasselbe Raster, eine andere Frage
Rechner, Container, Speicherpools, Platten, Zertifikate und was antwortet. Ein Container wird auf der Karte neu gestartet, eine Maschine dort geweckt, ein Protokoll dort mitgelesen.
Eingreifen
Ein Tablet im Flur, ohne Anmeldung
Ein Kiosk-Verweis öffnet genau ein Brett, ohne Anmeldung, nur lesend, solange nichts anderes gesagt wird. Er blättert durch die Seiten und dimmt nachts. Das Token wird einmal an der Tür abgegeben und fährt danach in keiner Adresse mehr mit.
Drei Ansichten
Läuft auf deiner Maschine. Kein Konto, keine Wolke, kein Dienst dazwischen.
Die erste Fassung startet mit erfundenen, sich bewegenden Daten. Du siehst dich um, bevor du irgendetwas anschließt.
Warum noch ein Dashboard?
Die meisten Startseiten für den eigenen Server sind eine Linksammlung mit Symbolen. Sie sagen, wo etwas liegt. Sie sagen nicht, ob es läuft, wie voll es ist, was gerade darauf passiert. Man klickt weiter und schaut selbst nach.
Was sich bewegt, wird meist im Browser abgefragt. Fünf offene Tabs sind dann fünfmal so viele Anfragen an jeden Dienst. In nexdeck fragt der Server, einmal, und schiebt das Ergebnis an alle Browser weiter.
Und wenn etwas rot ist, will man es abstellen können. Container neu starten, Maschine wecken, Download anhalten, Wunsch genehmigen, Licht schalten. Auf der Karte, nicht in einem anderen Fenster.
Vier Wege durch nexdeck
Ein Brett ist nichts Vorgefertigtes. Jede Karte ist ein Fenster in einen Dienst, auf ein freies Raster gelegt und von Hand in Größe gebracht.
Bretter und Karten
Freies Raster, jede Karte in ihrer eigenen Größe. Lebende Zahlen mit Verlauf aus 24 Stunden. Vorschau schon beim Einstellen.
- Freie Platzierung
- Verläufe
- Strg+K
- Eigene Farbe
Eingreifen
Aktionen dort, wo die Zahl steht. Erreichbarkeit mit Balken über die Zeit, und eine Nachricht, wenn etwas länger weg ist.
- Neu starten
- Wecken
- Genehmigen
- Benachrichtigen
Drei Ansichten
Ein Brett, drei Anordnungen: am Schreibtisch, als App auf dem Telefon, als Wandanzeige ohne Anmeldung.
- Je Bildschirmbreite
- Installierbar
- Kiosk
- Nachtabsenkung
Betrieb
Konten, Rollen, geteilte Bretter, Anmeldung über OpenID Connect, Bretter als Dateien im Git.
- Rollen
- Teilen
- OIDC
- YAML
79 Dienste, und Bausteine für den Rest
Von Docker und Proxmox über Plex, Radarr und Pi-hole bis Home Assistant, Immich und der FRITZ!Box. Was nicht dabei ist, holt die JSON-Karte aus jeder Schnittstelle, die Zahlen herausgibt.
- Rechner und Container. Docker, Proxmox, Portainer, Synology, Unraid, TrueNAS, Glances, Beszel, Prometheus, Grafana.
- Netz. UniFi, MikroTik, FRITZ!Box, OPNsense, pfSense, Traefik, Nginx Proxy Manager, Pi-hole, AdGuard, Tailscale.
- Medien. Plex, Jellyfin, Emby, die ganze Arr-Kette, SABnzbd, qBittorrent, Seerr und Nexview.
- Haus und Dateien. Home Assistant, Frigate, Reolink, evcc, Immich, Nextcloud, Syncthing, Paperless-ngx.
Eine Anbindung, die noch an keiner echten Instanz bewiesen wurde, trägt in der Oberfläche ein Beta-Zeichen. Das steht auf der Anbindungsseite bei jedem Namen, damit niemand raten muss.
Ein Container, eine Datei
Keine Datenbank daneben, kein Zwischenspeicher, kein Bauschritt. Beim ersten Start legst du den Betreiber an und bekommst ein Brett mit erfundenen Daten angeboten.
# Verzeichnis anlegen, Compose-Datei holen, starten mkdir nexdeck && cd nexdeck curl -fsSL https://raw.githubusercontent.com/DerKezorm/nexdeck/main/docker-compose.yml -o docker-compose.yml docker compose up -d
Danach steht nexdeck auf http://dein-host:5175. Der Docker-Socket ist in der Compose-Datei schon eingehängt: Damit siehst du die Container dieser Maschine, kannst sie bedienen und ihr Protokoll mitlesen.
Was es nicht ist
Ein Projekt, das seine Lücken selbst nennt, muss sie später nicht erklären.