Skip to main content

Guide: Lean Hosting – Mehrere Services in einem LXC am Beispiel vom 'homer' Dashboard

Wer im Self-Hosting-Bereich wächst, neigt dazu, für jeden Dienst einen eigenen Proxmox LXC-Container anzulegen. Das ist sauber, verbraucht aber unnötig Overhead für Dateisysteme, Updates und Backups. In diesem Text zeige ich, wie man eine zweite Instanz eines Dienstes (am Beispiel des Homer Dashboards) ressourcensparend im selben LXC betreibt.

Das Szenario

Wir haben ein laufendes Dashboard unter /opt/homer und möchten ein zweites, unabhängiges Dashboard („Lab-Version“) auf derselben Maschine hosten.

1. Daten kopieren

Zuerst klonen wir das Verzeichnis des bestehenden Dienstes. Da Homer eine statische Seite ist, die via Python serviert wird, reicht eine einfache Kopie:

Bash

cp -r /opt/homer /opt/homer-lab

2. Systemd-Service duplizieren

Damit das zweite Dashboard automatisch startet, benötigen wir eine neue Service-Datei. Wir kopieren die bestehende Konfiguration:

Bash

cp /etc/systemd/system/homer.service /etc/systemd/system/homer-lab.service

3. Konfiguration anpassen

Bearbeite die neue Datei homer-lab.service mit einem Editor (z.B. nano oder vim). Wichtig sind hier 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.target

4. Den neuen Service registrieren

Damit Linux erkennt, dass eine neue Service-Datei existiert, muss der Systemd-Daemon neu geladen werden. Danach aktivieren wir den 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.service

5. Erfolgskontrolle

Mit folgendem Befehl kannst du prüfen, ob beide Instanzen auf ihren jeweiligen Ports lauschen:

Bash

ss -tulpn | grep python3

Fazit: Warum dieser Weg?

  • Minimaler Footprint: Ein zweiter Homer-Dienst verbraucht nur ca. 30MB RAM zusätzlich.
  • Effiziente Backups: Ein einziges LXC-Backup sichert nun beide Dashboards.
  • Wartungsarm: Betriebssystem-Updates müssen nur einmal pro Container durchgeführt werden.

Tipp für Fortgeschrittene: Wenn du viele solcher kleinen Dienste hast, lohnt es sich, einen Reverse Proxy (wie Caddy oder Nginx Proxy Manager) davorzuschalten, um die Dienste über sprechende URLs (z.B. homer.local und lab.local) statt über Portnummern aufzurufen.


Soll ich dir zeigen, wie du die Logs beider Dashboards in einem einzigen Fenster mit journalctl überwachst?