Client als Container
Der lionbackup-Client steht zusätzlich als offizielles Container-Image bereit — gebaut aus demselben quelloffenen Code, veröffentlicht in unserer eigenen Registry. Der Pull ist anonym und öffentlich möglich, es ist kein Konto erforderlich.
Bezug
docker pull git.lionbackup.cloud/lionbackup/lionbackup-client:latest
Verfügbare Tags: latest (aktueller Stand), X.Y.Z (feste Version, empfohlen für den Produktionseinsatz) sowie der Commit-Hash jedes Builds.
Hinweis: Der öffentliche Pull ist mit 300 Requests pro Minute je IP begrenzt (ein docker pull benötigt ca. 15–20 Requests) — für CI-Systeme und parallele Pulls mehr als ausreichend.
Eigenschaften des Images
- Minimal (
FROM scratch): keine Shell, kein Paketmanager, keine Systembibliotheken — nur das statisch gebaute Client-Binary, CA-Zertifikate und Zeitzonendaten. - Nonroot: läuft als unprivilegierter Benutzer (UID 65532).
- Ende-zu-Ende-Verschlüsselung: bei aktivierter E2E-Verschlüsselung verlässt nur Geheimtext den Container.
Ausführung
Das Arbeitsverzeichnis im Container ist /data — dort erwartet der Client seine lionbackup.yaml (und ggf. die age-Identity). Die zu sichernden Daten werden read-only eingehängt:
docker run --rm \
-v /srv/lionbackup:/data \
-v /daten/projekt:/backup:ro \
git.lionbackup.cloud/lionbackup/lionbackup-client:0.1.1 backup
Die Pfade in der lionbackup.yaml beziehen sich auf die Sicht im Container (z. B. /backup).
Docker Compose
services:
lionbackup:
image: git.lionbackup.cloud/lionbackup/lionbackup-client:0.1.1
volumes:
- /srv/lionbackup:/data # lionbackup.yaml + age-Identity
- /daten/projekt:/backup:ro # zu sichernde Daten (read-only)
command: ["backup"]
Empfehlungen
- Version pinnen (
:X.Y.Zstatt:latest) für reproduzierbare Umgebungen. - Quelldaten read-only einhängen (
:ro) — der Client benötigt keinen Schreibzugriff auf die Quellen. - Zeitpläne über die Mechanismen Ihrer Plattform: cron, systemd-Timer oder ein Kubernetes-CronJob.
- Konfiguration und Erst-Einrichtung: siehe Erste Schritte.