Zum Hauptinhalt springen

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.Z statt :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.