Zwei Homer-Dashboards in einem LXC betreiben
Gerne. Unten findest du eine in Ton, Rhythmus und Fokus angepasste Fassung, die sich an deinen bisherigen Blogtexten orientiert: sachlich, pragmatisch, leicht reflektierend und ohne Tutorial-Pathos.
Ich habe bewusst klar strukturiert, aber nicht „how-to-lastig“ überzeichnet.
Wer im Self-Hosting-BereichHosting wächst,tiefer einsteigt, neigt dazu, für jeden neuen Dienst einen eigenen Proxmox LXC-ContainerProxmox-LXC anzulegen.
Das ist sauber,nachvollziehbar, verbrauchtsauber – aber auf Dauer auch unnötig Overheadschwergewichtig.
Jeder Dateisysteme,zusätzliche UpdatesContainer undbringt sein eigenes Dateisystem, eigene Updates, eigene Backups.
Für große oder sicherheitskritische Dienste ist das sinnvoll.
Für kleine, statische oder sehr schlanke Services oft nicht.
In diesem TextBeitrag zeige ich,ich wieeinen manalternativen Weg:
eine zweite Instanz eines bestehenden Dienstes (im selben LXC, am Beispiel des Homer Dashboards) ressourcensparend im selben LXC betreibt..
Das Szenario
Ausgangslage
WirEs habenexistiert bereits ein laufendes Homer-Dashboard unterunter:
/opt/homer
Nun möchtensoll eineine zweites,zweite, unabhängigesunabhängige DashboardVariante (dazukommen – etwa eine „Lab-Version“) aufzum derselbenTesten Maschineneuer hosten.Links oder Konfigurationen – ohne dafür einen neuen Container aufzusetzen.
1. DatenDatenbasis kopieren
duplizieren
ZuerstHomer klonen wir das Verzeichnis des bestehenden Dienstes. Da Homerist eine statische Seite ist,Webanwendung, die vialediglich Pythonüber servierteinen wird,kleinen reichtPython-Webserver eineausgeliefert einfachewird.
Entsprechend Kopie:genügt es, das bestehende Verzeichnis zu kopieren und anzupassen:
Bash
cp -r /opt/homer /opt/homer-lab
Kein Build-Prozess, keine Abhängigkeiten, kein zusätzlicher Ballast.
2. Systemd-Service duplizierenkopieren
Damit dasauch die zweite DashboardInstanz automatischsauber startet, benötigenbraucht wirsie eineeinen neueeigenen Service-Datei. Wir kopieren diesystemd-Service.
Der bestehende Konfiguration:Dienst wird dupliziert und klar benannt, etwa als:
Bash
cp /etc/systemd/system/homer.service /etc/systemd/system/homer-lab.service
Damit bleiben Zuständigkeiten nachvollziehbar und Logs sauber getrennt.
3. Konfiguration anpassen
Bearbeite die neue Datei homer-lab.service mit einem Editor (z.B. nano oder vim). Wichtig sind hierIn der Pfad und der Port:
Ini, TOML
[Unit]
Description=Homer Dashboard Lab
After=network-online.target
[Service]
Type=simple
WorkingDirectory=/opt/homer-lab
# Hier den Port auf 8011 ändern, um Konflikte mit dem ersten Service zu vermeiden
ExecStart=python3 -m http.server 8011
[Install]
WantedBy=multi-user.target4. Den neuen Service registrieren
Damit Linux erkennt, dass eine neue Service-Datei existiert,werden mussim Wesentlichen zwei Dinge geändert:
- der
Systemd-DaemonPfadneuzumgeladenneuenwerden.Verzeichnis - ein
DanacheigeneraktivierenPort,wirdamitden Dienst für den automatischen Start.Bash# 1. Systemd über die neue Datei informieren systemctl daemon-reload # 2. Service aktivieren (Autostart) und sofort starten systemctl enable --now homer-lab.service5. ErfolgskontrolleMit folgendem Befehl kannst du prüfen, obsich beide Instanzen nicht in die Quere kommen
Mehr ist nicht notwendig.
Kein zusätzliches Netzwerk-Setup, keine komplexe Isolation.
4. Service registrieren und starten
Nach dem Reload des systemd-Daemons kann der neue Dienst aktiviert und gestartet werden.
Ab diesem Punkt laufen beide Dashboards parallel – vollständig unabhängig, aber innerhalb desselben Containers.
5. Kurze Kontrolle
Ein Blick auf ihrendie jeweiligenoffenen Ports lauschen:oder die aktiven Services reicht aus, um zu sehen, dass beide Instanzen sauber laufen.
BashKein Hexenwerk.
Aber effektiv.
ss -tulpn | grep python3Fazit: Warum dieser Weg?
Ansatz sinnvoll ist
- Minimaler
Footprint:Ressourcenverbrauch
EineEin zweiterzweite Homer-DienstInstanzverbrauchtbenötigt nurca.rund30MB30RAMMBzusätzlich.zusätzlichen RAM. EffizienteEinfachereBackups:Backups
Ein einziges LXC-Backupsichertenthält nun beide Dashboards.Wartungsarm:Weniger Wartungsaufwand
Betriebssystem-Updatesmüssenfallen nur einmal pro Containerdurchgeführt werden.an.
TippGerade bei kleinen, statischen oder rein internen Diensten ist das ein pragmatischer Mittelweg zwischen „alles in einen Container werfen“ und „für jeden Port einen eigenen LXC“.
Gedanke für Fortgeschrittene:Fortgeschrittene
Wer du vielemehrere solcher kleinen Dienste hast,betreibt, lohntsollte esfrüher sich,oder später einen Reverse Proxy (wiedavorschalten – etwa Caddy oder Nginx Proxy Manager)Manager.
Damit davorzuschalten,lassen umsich die Diensteeinzelnen Instanzen über sprechende URLs (z.B. homer.local und lab.local) statt über Portnummern aufzurufen.erreichen, ohne die interne Struktur weiter zu verkomplizieren.
SollWenn du möchtest, zeige ich dirim zeigen,nächsten Schritt, wie dusich die Logs beider DashboardsHomer-Instanzen in einem einzigen Fenstergemeinsam mit journalctlbeobachten überwachst?lassen – übersichtlich und ohne Terminal-Chaos.