Client as a container
The lionbackup client is also available as an official container image — built from the same open-source code and published in our own registry. Pulling is anonymous and public; no account is required.
Pulling
docker pull git.lionbackup.cloud/lionbackup/lionbackup-client:latest
Available tags: latest (current build), X.Y.Z (fixed version, recommended for production) and the commit hash of every build.
Note: public pulls are limited to 300 requests per minute per IP (a docker pull needs about 15–20 requests) — plenty for CI systems and parallel pulls.
Image properties
- Minimal (
FROM scratch): no shell, no package manager, no system libraries — just the statically built client binary, CA certificates and timezone data. - Nonroot: runs as an unprivileged user (UID 65532).
- End-to-end encryption: with E2E encryption enabled, only ciphertext ever leaves the container.
Running
The working directory inside the container is /data — the client expects its lionbackup.yaml there (plus the age identity, if used). Mount the data to back up read-only:
docker run --rm \
-v /srv/lionbackup:/data \
-v /daten/projekt:/backup:ro \
git.lionbackup.cloud/lionbackup/lionbackup-client:0.1.1 backup
Paths in lionbackup.yaml refer to the view inside the container (e.g. /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"]
Recommendations
- Pin the version (
:X.Y.Zinstead of:latest) for reproducible environments. - Mount source data read-only (
:ro) — the client never writes to its sources. - Scheduling via your platform's mechanisms: cron, systemd timers or a Kubernetes CronJob.
- Configuration and first steps: see Getting started.