Ein Browser-Tab. Links eine Liste mit allen deinen Servern, in Ordnern sortiert. Rechts das Terminal zum Proxmox-Host, daneben der Dateimanager der Nextcloud-VM. Und die Passwörter und SSH-Schlüssel dazu liegen nicht bei einem Anbieter in der Cloud, sondern auf dem Rechner unter deinem Schreibtisch. So sieht Termix aus, wenn es läuft, und so beschreibt es das Projekt selbst: „Think of it as a free, self-hosted Termius.“

Termius kennst du vielleicht: ein SSH-Client mit Apps für Desktop und Handy, der deine Serverliste samt Schlüsseln über die Cloud des Herstellers abgleicht, gegen Abo. Termix macht dasselbe, nur dass der Abgleich über deinen eigenen Server läuft. Seit dem 10-10-2026 ist alles darin ein Plugin, die Versionsnummer heißt jetzt 26.10, und der Release-Thread gehört diese Woche zu den meistdiskutierten in r/selfhosted. Grund genug, das Ding einmal anzusehen: was es kann, wo es noch wackelt, und wie du es in zwanzig Minuten zum Laufen bringst.

Kurz gesagt: Termix ist eine selbst gehostete Zentrale für SSH-Zugänge: Serverliste, Zugangsdaten, Terminal und Dateimanager im Browser, dazu Apps für Desktop und Handy. Am Ende läuft es auf Port 8080, der erste Server ist verbunden, die Registrierung ist zu und das Volume gesichert. Eine Compose-Datei, vier Schritte, rund 20 Minuten, Stufe Standard. Stand: Termix 26.10.1, geprüft am 15-10-2026.
Termix in drei Schritten: Compose-Datei anlegen, Container starten und Admin-Konto anlegen, Plugins wählen und ersten Host verbinden
Der ganze Weg auf einen Blick. Schritt 2 ist der, bei dem du kurz wartest: Der Container braucht nach dem Start gut eine Minute, bis er antwortet.

Was Termix ist und welches Problem es löst

Wer mehr als zwei Server betreibt, kennt das Durcheinander: Die SSH-Konfiguration liegt auf dem Laptop, der Schlüssel für den Pi steckt nur auf dem Desktop-PC, und auf dem Handy hat eine dritte App ihre eigene Liste. Termix sammelt das an einem Ort. Es ist ein Dienst, der auf deinem Server läuft und selbst per SSH zu deinen anderen Maschinen spricht; auf denen musst du nichts installieren.

Browser / App→ Port 8080 →Termix→ SSH, Port 22 →deine Server

Der Kern ist bewusst klein. In der Doku steht der Satz, der das Konzept erklärt: „Everything in Termix past hosts, credentials and users is a plugin.“ Hosts, Zugangsdaten und Benutzer sind fest eingebaut; alles andere ist ein Plugin, also ein Baustein, den du an- und abschaltest wie eine Browser-Erweiterung. Das SSH-Terminal ist eins, der Dateimanager ist eins, die Docker-Verwaltung, die Host-Metriken, der Remote-Desktop für RDP und VNC, die Zwei-Faktor-Anmeldung per TOTP oder Passkey. Die README zählt gut dreißig offizielle Plugins auf, und seit dem 12-10-2026 gibt es dazu ein Community-Register, in dem fremde Plugins vor der Aufnahme geprüft werden.

Für ein Werkzeug, das alle deine Schlüssel kennt, zählt eine Frage mehr als jede Funktionsliste: Wie liegen die Schlüssel auf der Platte? Die README sagt: „Passwords, keys and other secrets are encrypted per user, and the database can be encrypted on disk“, und laut Liste der Umgebungsvariablen steht die Datei-Verschlüsselung der SQLite-Datenbank standardmäßig auf true. Das ist die richtige Voreinstellung. Ein Dienst, der die Zugangsdaten zu allen Servern im Haus verwahrt, ist das lohnendste Ziel im ganzen Netz, und er sollte sich auch so verhalten.

Warum gerade alle über Termix reden

Das Projekt hat in zwei Wochen drei große Sprünge gemacht. Am 01-10-2026 wurden mit Version 2.9.0 die Funktionen zu Plugins umgebaut. Am 10-10-2026 kam 26.10.0: ein Plugins-Tab zum Installieren, Aktualisieren und Abschalten, eine neue Oberfläche, ein neuer Einrichtungsassistent, und die Versionsnummer wechselte auf das Kalender-Schema, 26.10 heißt Oktober 2026. Am 12-10-2026 folgte 26.10.1 mit dem Community-Register, sieben weiteren Sprachen und einem Fix, der vielen Nutzern hinter Nginx das Terminal nach sechzig Sekunden abgerissen hat. Das GitHub-Repo steht bei rund 15.500 Sternen, Lizenz Apache 2.0.

Ich freue mich über so ein Tempo, und ich werde bei so einem Tempo vorsichtig; beides stimmt. Der Umbau auf Plugins ist eine gute Idee, weil er den Kern klein hält und du nur betreibst, was du brauchst. Aber er ist fünf Tage alt, und das sieht man in den Issues:

  • Issue #1644: Ein Nutzer meldet, dass der Termix-Container unter 26.10.0 und 26.10.1 alle paar Stunden abstürzt und dabei alle offenen Terminals mitnimmt. Als Ursache vermutet er den Wechsel des Images zurück auf Node 24, der einen alten Absturz in der SSH-Bibliothek wieder hervorholt. Der Entwickler LukeGus hat geantwortet, dass er sich das ansieht. Stand heute: offen, ein Melder.
  • Issue #1605: Wer von 2.8 hochgezogen hat und das Vault-Plugin entfernt, kann keine Hosts mehr anlegen. Der Maintainer ZacharyZcR hat die Ursache in einer alten Datenbankspalte gefunden; der Fix ist für 26.10.2 eingeplant. Eine frische Installation ist davon nicht betroffen.

Mein Urteil daraus: Für eine Neuinstallation im Heimnetz ist 26.10.1 in Ordnung, mit festgenagelter Version und einem Backup des Volumes, bevor du updatest. Wer eine 2.8 im Betrieb hat, wartet auf 26.10.2 und geht dann den Weg, den die Doku vorschreibt: erst 2.9 starten und einmal anmelden, dann 26.10. Ein Zurück auf 2.8 gibt es seit 26.10.0 nicht mehr.

Was du brauchst

  • Einen Server mit Docker und Compose. Prüfen mit docker compose version; die Antwort beginnt mit Docker Compose version v2 oder höher. Fehlt dir das Grundwissen, steht es in der Docker-Compose-Anleitung für Einsteiger.
  • Etwas Arbeitsspeicher. Laut Doku braucht ein ruhendes Termix rund 190 MB; bis 1.000 Hosts empfiehlt sie einen Kern, 1 GB RAM und 5 GB Platte. Ein Raspberry Pi 4 reicht, das Image gibt es für amd64 und arm64. Prüfen mit free -m, die Spalte available zählt.
  • Port 8080 frei. Prüfen mit ss -tlnp | grep ':8080 ' || echo "Port frei".
  • Einen zweiten Rechner, den du per SSH erreichst, mit Benutzername und Passwort oder Schlüssel. Wie du den SSH-Zugang vorher vernünftig einstellst, steht in SSH absichern auf Debian und Ubuntu.
  • IP des Servers, auf dem Termix läuft: 192.168.178.20
  • Ordner für die Compose-Datei: ~/termix
  • Port der Weboberfläche: 8080
  • Erster Server, den Termix verwalten soll: 192.168.178.30, Port 22, Benutzer sakis
  • Docker-Volume mit allen Daten: termix-data
So liest du diese Anleitung: Alles, was du selbst tun sollst, steht in einem farbigen Kasten. [ per klick ] heißt: Das erledigst du mit der Maus in einer Web-Oberfläche, hier die Termix-Oberfläche im Browser. [ über die shell ] heißt: Den Befehl kopieren, ins Terminal einfügen, Enter. Stehen beide Kästen direkt untereinander, führen sie zum selben Ergebnis. Du gehst EINEN davon, nicht beide.

Schritt 1: Die Compose-Datei anlegen

Termix braucht genau einen Container. Die Doku bietet zwei Varianten an, eine mit dem Zusatzcontainer guacd für Remote-Desktop und eine ohne. Wir nehmen die ohne: Für SSH und Dateien ist guacd überflüssig, und laut Doku kannst du ihn später jederzeit ergänzen.

mkdir -p ~/termix && cd ~/termix
nano docker-compose.yml

Diesen Inhalt einfügen, dann speichern mit Strg+O, Enter, und den Editor schließen mit Strg+X:

services:
  termix:
    image: ghcr.io/termix-ssh/termix:26.10.1
    container_name: termix
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - termix-data:/app/data
    environment:
      PORT: "8080"

volumes:
  termix-data:

Drei Zeilen verdienen einen Blick:

  • image: …:26.10.1: Die Doku nennt latest als Standard. Bei drei Releases in zwei Wochen und einem offenen Absturz-Issue nagle ich die Version fest. Ein Update ist dann eine bewusste Entscheidung, keine Überraschung beim nächsten pull.
  • termix-data:/app/data: Ein von Docker verwaltetes Volume, in dem alles liegt: die verschlüsselte Datenbank, die Datei .env mit den Schlüsseln, die Plugins. Die Doku sagt dazu klar: Wer dieses Volume verliert, verliert Hosts und Zugangsdaten. Ein Ordner neben der Compose-Datei ginge auch, braucht dann aber die Variablen PUID und PGID passend zum Besitzer des Ordners; das Volume erspart dir den Stolperstein.
  • PORT: "8080": Der Port, auf dem Termix im Container lauscht. Änderst du ihn, musst du die Zeile unter ports mitziehen.

Ob die Datei formal stimmt, sagt dir Compose selbst:

docker compose config --quiet && echo "Datei ok"

Schritt 2: Starten und warten

docker compose up -d

Docker zieht das Image und startet den Container. Und jetzt kommt der Teil, den die Doku nicht erwähnt: Termix meldet sich nicht sofort. In der Vorprüfung für diesen Beitrag im Sandkasten von sakis.tech vergingen nach dem Start gut anderthalb Minuten, bis Port 8080 antwortete. Beim ersten Start legt der Dienst Schlüssel an und richtet die Datenbank ein. Wer nach zwanzig Sekunden den Browser öffnet und eine leere Seite sieht, hat keinen Fehler gemacht. Zusehen kannst du so, raus aus der Ansicht kommst du mit Strg+C:

docker compose logs -f termix

Ob es so weit ist, verrät eine einzige Zahl:

curl -s -o /dev/null -w "%{http_code}\n" http://localhost:8080
200

Steht da 200, lebt die Oberfläche. Kommt 000, ist der Dienst noch beim Einrichten; einfach eine halbe Minute später noch einmal. Dann im Browser auf dem Laptop öffnen: http://192.168.178.20:8080.

Schritt 3: Admin-Konto anlegen und Plugins wählen

Die erste Seite ist eine Registrierung, und das erste Konto wird laut Doku automatisch der Administrator. Danach startet ein kurzer Assistent, in dem du jeden Schritt überspringen und später nachholen kannst.

Auf der Registrierungsseite Benutzername und ein langes Passwort eintragen, Konto anlegen. Im Assistenten unter Choose your plugins die Plugins SSH Terminal und File Manager auf On lassen; Remote Desktop auf Off, weil der Container guacd fehlt. Unter How much do you want on screen? die Stufe Balanced wählen, Theme und Sprache nach Geschmack, den Schritt Secure your account vorerst überspringen. (Stand Termix 26.10.1)

Die Registrierungsseite von Termix mit ausgefülltem Benutzernamen sakis, zwei Passwortfeldern und dem Knopf Sign Up.
(1) Benutzername: sakis; (2) Langes Passwort; (3) Hier klicken
Der Einrichtungsassistent von Termix, Schritt Choose your plugins, mit der Liste der Plugins und den Schaltern On, Off und Remove; Remote Desktop steht auf Off.
Remote Desktop auf Off
Der Assistent fragt, wie viel auf dem Bildschirm sein soll; die Stufe Balanced ist gewählt, rechts unten der Knopf Next.
(1) Balanced wählen; (2) Hier klicken

Der Assistent unterscheidet drei Zustände für ein Plugin: On, Off und Remove. Off behält das Plugin samt seinen Daten und schaltet es nur ab; Remove löscht beides vom Server. Für alles, was du nur noch nicht brauchst, ist Off der richtige Schalter. Ein Plugin, das ein anderes voraussetzt, lässt sich nicht einzeln abschalten; Termix sagt dir dann, warum.

Geklappt hat es, wenn du danach die Oberfläche siehst: links die schmale Leiste mit den Symbolen für Hosts und Credentials, ganz unten Plugins, Settings und dein Konto. Nicht aktivierte Plugins fehlen in der Leiste; das ist gewollt, nicht kaputt.

Schritt 4: Den ersten Server verbinden

In der linken Leiste Hosts öffnen, auf Add Host klicken. Der Eintrag Hosts öffnet den Reiter Manage, und Port 22 ist dort unter SSH Port schon vorbelegt. Als Adresse 192.168.178.30 eintragen, Port 22, Benutzername sakis, als Anmeldeart Passwort oder einen SSH-Schlüssel wählen und speichern. Danach den neuen Host in der Seitenleiste anklicken: Es öffnet sich ein Tab mit dem Terminal. (Stand Termix 26.10.1)

Die Ansicht Manage in Termix mit dem Formular für einen neuen Host; im Feld Address / IP steht 192.168.178.30.
(1) Adresse: 192.168.178.30; (2) Add Host
Weiter unten im Host-Formular: Anmeldeart Password ist gewählt, als Benutzername steht sakis, rechts unten der Knopf Add Host zum Speichern.
(1) Anmeldeart Password; (2) Benutzername: sakis; (3) Speichern

Im Tab erscheint der Prompt des anderen Rechners. Tipp hostname ein; antwortet der Name des zweiten Servers, hast du gerade zum ersten Mal von einer Seite aus zwei Maschinen in der Hand. Das ist der Moment, für den man das Ding installiert.

Kommt stattdessen ein Verbindungsfehler, liegt es meist nicht an Termix. Prüf vom Termix-Server aus, ob der Weg überhaupt frei ist:

ssh sakis@192.168.178.30

Geht das nicht, ist es eine Firewall, ein falscher Port oder ein Schlüssel, der auf dem Ziel nicht hinterlegt ist, und das löst du auf dem Zielrechner, nicht in Termix. Geht es, und Termix scheitert trotzdem, sind die Logs aus Schritt 2 der nächste Blick.

Was am Ende eingestellt ist

  • Registrierung zu. Die Doku empfiehlt vor dem ersten Gang nach außen, unter Settings, General den Schalter Allow User Registration auszuschalten, wenn du Konten selbst anlegst. Mach das gleich jetzt, egal wie der Schalter gerade steht. Sonst kann jeder, der Port 8080 erreicht, sich ein Konto anlegen, und ein offener Eingang an der Tür zum Schlüsselbund ist kein guter Anfang.
  • Daten und Backup. Alles liegt im Volume termix-data: db.sqlite.encrypted, die .env mit den Schlüsseln, plugins/ und ein Ordner backups/, in den Termix vor großen Upgrades selbst eine Kopie legt. Die Doku sichert das Volume mit vier Befehlen, die direkt unter dieser Liste stehen.

Das Backup, wie die Doku es vorschlägt: Dienst anhalten, Volume als Archiv neben die Compose-Datei packen, Dienst wieder starten.

cd ~/termix
docker compose stop termix
docker run --rm -v termix-data:/data -v "$PWD":/backup alpine tar czf /backup/termix-$(date +%F).tgz -C /data .
docker compose start termix

Ob es geklappt hat, zeigt ls ~/termix: Neben der Compose-Datei liegt jetzt eine Datei termix-<datum>.tgz. Das Archiv enthält die Schlüssel, mit denen sich alle gespeicherten Passwörter entschlüsseln lassen. Es gehört an einen Ort, an den du auch dein Passwort-Manager-Backup legen würdest, nicht in den Download-Ordner.

  • Updates von Hand. Versionsnummer in der Compose-Datei ändern, dann docker compose pull && docker compose up -d. Vorher das Backup von oben; die Doku sagt es, und der Backup-Tick sagt es auch. Die Release Notes stehen auf GitHub, und bei diesem Projekt lohnt es sich gerade, sie vorher zu lesen.
  • Nur HTTP. Port 8080 spricht unverschlüsselt. Im eigenen WLAN ist das vertretbar; nach außen gehört Termix hinter einen Reverse Proxy mit HTTPS, zum Beispiel den Nginx Proxy Manager, oder in ein VPN wie wg-easy. Hinter einem Proxy braucht Termix laut Doku drei Dinge: WebSockets durchgereicht, lange Timeouts, weil ein Terminal stundenlang still sein darf, und die Variable TRUSTED_PROXIES mit der Adresse des Proxys, sonst sieht Termix in jedem Besucher nur den Proxy.
  • Zweiter Faktor. Die Plugins TOTP und Passkeys liegen im Plugins-Tab. Sobald Termix von außen erreichbar ist, ist eins davon Pflicht, nicht Kür.
  • Nutzungsstatistik. Es gibt ein Plugin Usage Statistics, das Berichte an das Projekt schickt. Wer das nicht möchte, schaltet es im Plugins-Tab ab oder setzt in der Compose-Datei ENABLE_TELEMETRY: "false"; die Variable sperrt die Einstellung dann fest.

Für wen sich Termix lohnt

Für alle, die drei oder mehr Maschinen pflegen und die Zugänge an einem Ort haben wollen, den sie selbst kontrollieren. Für Termius-Nutzer, die das Abo für den Cloud-Abgleich zahlen und sich fragen, wofür. Für Haushalte und kleine Teams, in denen mehr als eine Person an die Server soll: Hosts, Zugangsdaten und Ordner lassen sich mit vier Rechtestufen teilen, und das Audit-Log sagt hinterher, wer was getan hat. Und für alle, die vom Tablet aus mal eben ein Terminal brauchen, ohne auf dem Tablet Schlüssel zu lagern.

Nicht für den, der einen Raspberry Pi hat und ihn mit einem Befehl erreicht. ssh pi@192.168.178.30 ist dann die bessere Zentrale, und was man an der Kommandozeile danach braucht, steht in den zwanzig Linux-Befehlen fürs Homelab. Wer nur Docker-Container verwalten will, ist mit Dockhand schlanker unterwegs; das Docker-Plugin von Termix ist eine Zugabe, kein Ersatz.

Und der Reifegrad, ehrlich: Das Plugin-System ist fünf Tage alt, ein Absturz-Issue ist offen, und 26.10.2 ist bereits in Arbeit. Eine Neuinstallation mit fester Version und Backup trage ich mit. Wer die Ruhe hat, wartet die 26.10.2 ab und installiert dann das, was die Nutzer der ersten Woche schon ausgetestet haben. Auch das ist eine Form von Ausprobieren, nur mit weniger Überraschungen.

Wie viele Server verwaltest du, und wo liegen deine SSH-Schlüssel heute: auf einem Gerät, auf dreien, oder in der Cloud eines Anbieters? Schreib's in die Kommentare.

Wenn du Termix nach außen öffnen willst, lies vorher, was ein Reverse Proxy ist; danach ergibt der Abschnitt mit den drei Proxy-Einstellungen oben doppelt Sinn.

Quellen