Zum Inhalt springen
nexdeck
Betrieb

Mehr als eine Person, ohne dass alle alles sehen

Betreiber, Benutzer und Gäste. Bretter sind privat, bis sie geteilt werden, und geteilt wird an eine Person oder an eine ganze Rolle, zum Ansehen, zum Ändern oder zum Handeln.

Ein Medienbrett mit Warteschlangen, offenen Wünschen und zuletzt hinzugefügten Titeln
Rollen

Drei Rollen, drei Stufen beim Teilen

Die Rolle sagt, was jemand in der Installation darf. Was jemand mit einem einzelnen Brett darf, sagt das Teilen.

RolleEigene BretterAnbindungenKonten und Instanz
Betreiberbauen und teilenanlegen und ändernja
Benutzerbauen und teilenansehen, nicht ändernnein
Gastnur was geteilt wurdeneinnein

Beim Teilen

  • Ansehen. Das Brett und seine lebenden Daten, sonst nichts.
  • Ändern. Karten verschieben, hinzufügen, einstellen.
  • Handeln. Die Knöpfe auf den Karten wirken auch wirklich.

Warum die Anbindungen für jedes angemeldete Konto lesbar sind: Wenn eine Karte rot wird, ist die erste Frage, an welcher Adresse sie hängt. Sie zu ändern bleibt beim Betreiber, und eine einzelne Anbindung lässt sich mit einem Haken ganz für Benutzer sperren.

Getrennte Einstellungen

Was einer Person gehört, liegt unter „Meine Einstellungen": Profil, eigene Bretter, eigene Benachrichtigungswege, eigene Token. Was der Installation gehört, liegt unter „System": Anbindungen, Konten, Mailserver, Aussehen.

Der Betreiber sieht in seiner Brettliste seine eigenen und die ihm geteilten. Dass er jedes Brett im Haus öffnen darf, heißt nicht, dass alle darin herumliegen; ein Schalter über der Liste zeigt sie, wenn er sie wirklich will.

Anmeldung

Lokal, über den eigenen Anbieter, oder mit einem Token

Lokale Konten

Name und Kennwort, ein Bild dazu, eine Adresse für vergessene Kennwörter. Der Betreiber kann ein Kennwort neu setzen, ohne das alte zu kennen; alle Sitzungen dieses Kontos enden damit.

OpenID Connect

Daneben, nicht statt. Erprobt mit authentik, Keycloak, Authelia und Pocket ID. Wer im Haus schon einen Anbieter betreibt, hängt nexdeck daran.

Persönliche Token

Für Skripte und andere Werkzeuge. Sie gehören einem Konto, sie laufen ab, sie lassen sich einzeln zurückziehen, und beim Kennwortwechsel sterben sie.

Kennwortraten wird nicht nur nach Herkunftsadresse gezählt, sondern auch je Konto. Hinter einem Reverse Proxy ist die Adresse das, was ein Kopfzeilenfeld behauptet, und die lässt sich mit jedem Versuch neu erfinden.

Bretter als Dateien

Was geklickt wurde, lässt sich versionieren

Jedes Brett geht als YAML heraus und wieder herein, auf derselben oder einer anderen Installation. Die Geheimnisse bleiben, wo sie sind: Ein Zugang wird als Verweis auf eine Umgebungsvariable geschrieben, nicht als Wert.

Eine Datei unter data/boards/ legt beim Start ein Brett an. Damit lässt sich eine Installation aus dem Git heraus aufsetzen, und ein Umzug ist eine Datei statt eines Nachmittags.

Karten verweisen auf Anbindungen über ihren Namen. Beim Einlesen wird eine vorhandene Anbindung mit diesem Namen wiederverwendet, sonst eine neue angelegt.

Ein Import über die Oberfläche legt keine Anbindungen an und löst keine Variablen auf. Das darf nur der Weg über die Dateien, den der Betreiber selbst in der Hand hat. Sonst könnte jedes Mitglied ein Brett hochladen, dessen Anbindung nach dem Hauptschlüssel der Installation fragt, und ihn danach in der Liste ablesen.

brett.yaml
# Auszug aus einem ausgeführten Brett
board:
  name: Medien
  slug: medien
pages:
  - name: Überblick
    widgets:
      - kind: radarr.queue
        title: Radarr
        integration: Filme
integrations:
  - name: Filme
    kind: radarr
    config:
      url: http://radarr:7878
      api_key: ${NEXDECK_RADARR_1_API_KEY}
Der Schlüssel steht nicht in der Datei. Was dort steht, ist der Name der Umgebungsvariablen, aus der er beim Start geholt wird.