Remote-Instanzen & Headless
Eine lokale IllusionDB kann direkt auf einer anderen Instanz arbeiten – typischerweise auf deinem Online-Server. Die Oberfläche kommt dabei immer aus der lokalen Installation, jede Datenänderung landet aber sofort auf dem Server. Der Server selbst braucht dann keine eigene Weboberfläche mehr: seine Admin-Oberfläche lässt sich abschalten, sodass dort nur noch die REST-API als Headless-Dienst läuft.
Verbindung einrichten
- Auf dem Server: unter Einstellungen → Mein Konto einen API-Token für ein Admin-Konto anlegen und kopieren.
- Lokal: Einstellungen → Remote-Instanzen → Neue Verbindung. Name, Adresse (z. B.
https://db.example.com) und den Token eintragen. Der Token wird verschlüsselt gespeichert und danach nie wieder angezeigt. - In der Spalte Zustand prüft IllusionDB sofort, ob der Server erreichbar ist, ob der Token gilt und einem Admin gehört und ob beide Seiten dieselbe Version haben.
Remote-Verbindungen kann nur ein Admin anlegen und nutzen.
Zwischen Instanzen umschalten
Oben in der Seitenleiste sitzt der Umschalter: Lokal oder eine deiner Verbindungen. Ist eine Verbindung aktiv, wird der Umschalter gelb mit dem Hinweis LIVE, und über jeder Seite steht ein Banner – jede Änderung wirkt sofort auf dem Server. Rot wird der Umschalter, wenn der Server nicht erreichbar ist oder eine andere Version hat; aktualisiere dann beide Seiten auf dieselbe Version.
Im Live-Modus kommt alles vom Server: Datenquellen, Tabellen, Ansichten, Dateien, Skripte, Benutzer, Gruppen und Berechtigungen. Lokal bleiben nur dein eigener Login, dein Konto (Passwort, eigene API-Tokens) und die Verwaltung der Remote-Verbindungen selbst. Auf dem Server handelst du mit den Rechten des Kontos, dem der Token gehört.
Admin-Oberfläche abschalten (Headless)
Unter Einstellungen → Remote-Instanzen → Admin-Oberfläche lässt sich die Weboberfläche der Instanz abschalten, auf der du gerade arbeitest – im Live-Modus also die des Servers. Danach gilt dort:
- keine Weboberfläche, kein Login, kein Einrichtungsassistent – es gibt keine Login-Seite mehr, die jemand durchprobieren könnte;
- laufende Browser-Sitzungen enden sofort;
- die REST-API mit API-Token, eigene Skript-Endpunkte, öffentlich lesbare Tabellen und
/healthzlaufen unverändert weiter.
Abschalten geht nur, wenn auf der Instanz ein API-Token eines Admin-Kontos existiert (oder ein MASTER_TOKEN gesetzt ist) – sonst käme danach niemand mehr heran. Wieder einschalten kannst du die Oberfläche jederzeit lokal über die Verbindung: Server im Umschalter wählen, Einstellungen → Remote-Instanzen → Admin-Oberfläche einschalten.
Notfall-Wege und Umgebungsvariablen
| Variable / Befehl | Wirkung |
|---|---|
HEADLESS=true |
Schaltet die Admin-Oberfläche fest ab, unabhängig von der Einstellung. Lässt sich nicht über die Oberfläche ändern. |
MASTER_TOKEN=<mind. 32 Zeichen> |
Zusätzlicher Admin-Token nur aus der Umgebung, ohne Datenbankeintrag. Der Weg zurück, falls alle API-Tokens weg sind: setzen, neu starten, lokal verbinden, Oberfläche wieder einschalten. Erzeugen z. B. mit openssl rand -base64 32. |
illusiondb -enable-admin |
Schaltet die Oberfläche direkt auf dem Server wieder ein und beendet sich; danach IllusionDB normal neu starten. Im Docker-Container: docker compose exec illusiondb /app/illusiondb -enable-admin, dann den Container neu starten. |