Skip to main content

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.Z instead 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.