Lazytainer - Docker-Container automatisch pausieren
Lazytainer
Pausiert Docker-Container automatisch, wenn kein Netzwerkverkehr mehr ankommt – und startet sie bei Bedarf wieder.
Was ist Lazytainer?
Lazytainer ist ein leichtgewichtiger Proxy-Container, der andere Container überwacht und bei Inaktivität in den Schlafmodus versetzt. Sobald neue Verbindungen eingehen, werden die pausierten Container automatisch wieder gestartet. Das spart Ressourcen auf Heimservern und kleinen VPS-Instanzen erheblich, ohne dass Dienste dauerhaft manuell deaktiviert werden müssen. Lazytainer kommuniziert direkt mit dem Docker-Socket und benötigt keine Änderungen an den überwachten Containern.
Voraussetzungen
- Docker und Docker Compose
- Zugriff auf den Docker-Socket (
/var/run/docker.sock) - Dienste müssen über HTTP(S) erreichbar sein (TCP-Proxy-Modus)
Compose-Beispiel
services:
lazytainer:
image: ghcr.io/vmorganp/lazytainer:latest
container_name: lazytainer
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./config.yml:/app/config.yml:ro
environment:
- TZ=Europe/Berlin
Eine Beispiel-Konfigurationsdatei (config.yml) definiert, welche Container bei welchem Port überwacht werden:
groups:
- name: jellyfin
inactiveTimeout: 300
stopTimeout: 10
services:
- name: jellyfin
port: 8096
Hinweise
- Der
inactiveTimeout-Wert gibt an, nach wie vielen Sekunden Inaktivität ein Container pausiert wird – 300 Sekunden (5 Minuten) sind ein guter Standardwert. - Der Docker-Socket sollte im Read-only-Modus eingebunden werden (
ro), sofern Lazytainer keine Container direkt steuern muss – ansonsten ohne:ro. - Ressourcenhungrige Dienste wie Jellyfin, Plex oder Nextcloud profitieren am stärksten von diesem Ansatz.
- Beim ersten Aufruf nach einer Pause gibt es eine kurze Verzögerung (2–10 Sekunden), während der Ziel-Container hochfährt.