Traefik auf Bare-Metal: Schluss mit dem YAML-Gefummel – Mein neuer CLI-Manager ist da!
Wie ein einfaches Shell-Skript (mit optionaler GUI!) die Verwaltung von Traefiks File-Provider vereinfacht.
Hallo an alle Server-Administratoren, Self-Hoster und Kommandozeilen-Krieger!
Wer von euch betreibt Traefik so wie ich? Direkt auf dem Blech (Bare-Metal) oder einer VM. Stabil, performant und entkoppelt von der Docker-Engine. Dieses Setup hat enorme Vorteile, aber es bringt uns direkt zu einem der größten Nerv-Faktoren: der Konfiguration über den File Provider.
Jeder, der schon einmal einen neuen Service hinzufügen wollte, kennt den Prozess:
- Per SSH auf den Server.
- Ins Verzeichnis
/etc/traefik/rules/
navigieren. - Eine neue
mein-cooler-service.yml
erstellen. - Sich durch die YAML-Syntax für Router, Middlewares und Services kämpfen.
- Aufpassen, dass die Einrückung stimmt und man den Let’s Encrypt CertResolver nicht vergisst.
- Hoffen, dass man keinen Tippfehler gemacht hat.
Dieser Prozess ist nicht nur umständlich, sondern auch extrem fehleranfällig. Ein einziges falsch gesetztes Leerzeichen kann die ganze Konfiguration lahmlegen. Das musste einfacher gehen.
Deshalb habe ich für mich und euch, den Traefik-Manager!
Vorweg ich bin kein Programmierer und auch als SkriptKiddie würde ich mich nicht bezeichnen. Meine Kenntnisse sind rudimentär, da ich eben bisher immer alles manuell gemacht habe. Doch mit dem Alter wird man weiser und ruhiger und möchte nicht mehr alles manuell erledigen. Daher habe ich mich dann doch mal mit Bash Skripting befasst und nach langem hin und her und vielen Try&Error Session ist dabei dieses kleine aber mächtige Shell-Skript heraus gekommen.
Ich habe ein Shell-Skript geschrieben, das diesen gesamten manuellen Prozess überflüssig macht. Es ist ein klassisches Kommandozeilen-Tool, das tut, was es soll – ohne Schnickschnack. Und für alle, die Menüs lieber mögen als Befehle auswendig zu lernen, gibt es das Ganze auch mit einer komfortablen Shell-GUI!
Hier geht’s direkt zum GitHub-Repository: meehr/traefik-manager
Was ist das Kernproblem, das es löst?
Der traefik-manager
automatisiert die Erstellung der dynamischen Konfigurationsdateien für Traefik. Anstatt YAML-Dateien manuell zu schreiben, nutzt du einfache Befehle oder ein geführtes Menü, um deine Dienste zu verwalten.
Das Beste daran? Es ist völlig egal, wie der eigentliche Service läuft. Du kannst Traefik auf dem Host betreiben und damit eine Applikation routen, die…
- …als nativer Prozess auf dem Server läuft (z.B. ein Go-Binary auf Port 3000).
- …in einem Docker-Container läuft, dessen Port auf den Host gemappt ist (z.B.
docker run -p 8080:80 ...
).
Der Manager kümmert sich nur um die korrekte Konfiguration für Traefik.
Die Magie der Kommandozeile
Vergiss das Editieren von YAML-Dateien. So fügst du einen neuen Dienst über die Kommandozeile hinzu:
sudo ./traefik-manager.sh
Das Skript fragt dich dann interaktiv nach allen nötigen Informationen: Name, Domain und interne URL. Fertig.
Noch komfortabler: Die integrierte Shell-GUI
Wenn du keine Lust hast, dir Befehle wie add
oder remove
zu merken, ist das kein Problem. Im Repository findest du auch das Skript traefik-manager-gui.sh
.
Wenn du dieses Skript startest, bekommst du eine vollwertige, menügeführte Oberfläche direkt in deinem Terminal (mittels dialog
oder whiptail
). Damit wird die Verwaltung endgültig zum Kinderspiel.
Hier kannst du einfach mit den Pfeiltasten navigieren und die gewünschte Aktion auswählen. Einfacher geht’s nicht!
Warum du das ausprobieren solltest:
- Geschwindigkeit: Einen neuen, voll funktionsfähigen und mit SSL gesicherten Dienst hinzuzufügen, dauert 15 Sekunden statt 5 Minuten.
- Sicherheit: Keine Syntaxfehler mehr. Das Skript generiert eine bewährte und korrekte Konfiguration.
- Benutzerfreundlichkeit: Wähle zwischen schnellen Kommandozeilen-Befehlen oder der selbsterklärenden Shell-GUI.
- Klarheit: Mit
list
(oder dem Menüpunkt) hast du immer den perfekten Überblick. - Flexibilität: Ideal für das robuste „Traefik-on-Host“-Setup, das viele von uns bevorzugen.
Schaut euch das Projekt auf GitHub an. Es ist ein einfaches Shell-Skript, ihr könnt also genau sehen, was es tut. Ich freue mich unglaublich über Feedback, Ideen für neue Features oder eure Mithilfe!
Zudem möchte ich natürlich meinen Freunden Fabi und Marcel danken, die mich auf die Idee gebracht haben und mir immer mit Tips und Hilfe zur Seite standen.
Was haltet ihr davon? Lasst es mich in den Kommentaren wissen!
-
Zur Architektur-Debatte (sehr hohe Interaktion):
„Traefik im Docker-Container vs. Traefik direkt auf dem Host: Was ist euer bevorzugtes Setup und WARUM? Lasst uns eine Grundsatzdebatte starten! 👇 #Traefik #BareMetal #DevOps #SelfHosting“ -
Zum konkreten Pain-Point:
„Ganz ehrlich: Was war der dümmste Fehler, den ihr je beim manuellen Schreiben einer Traefik YAML-Datei gemacht habt? Bei mir war es eine falsche Einrückung, die mich eine Stunde gekostet hat. Eure Geschichten? 😅 #SysAdmin #YAML #Fail“ -
Zur Tool-Philosophie (regt zum Nachdenken an):
„Mein neuer Traefik Manager ist ein bewusst simples Shell-Skript. Wann bevorzugt ihr solche kleinen, fokussierten CLI-Tools gegenüber großen All-in-One-Lösungen? Und wofür habt ihr selbst schon Helfer-Skripte gebaut? 🛠️ #Automation #ShellScript #KISS“ -
Zum direkten Call-to-Action & Community-Einbindung:
„Ich habe einen CLI-Manager gebaut, um die Traefik-Konfiguration auf Bare-Metal zu vereinfachen. Welchen EINEN Befehl oder welches Feature würdet ihr euch für so ein Tool am meisten wünschen? (Link zum Projekt im Post) #OpenSource #GitHub #FeatureRequest“ -
Die Herausforderung / Der Test:
„Wer von euch verwaltet Traefik noch manuell über den File Provider? Ich lade euch ein: Testet meinen neuen CLI-Manager bei eurem nächsten Service-Setup und stoppt die Zeit. Berichtet, wie viel schneller es ging! ⏱️ #TraefikManager #Productivity #Linux“
Sei der Erste der einen Kommentar abgibt