Alpine-based image for scheduled restic backups with rclone, apprise, and database clients.
2.5K
Personal project I use to back up my homelab, packaged as an Alpine-based container image with:
sqlite and postgresql-client for database-aware helpersIt leans on supercronic so cron jobs stay visible and resilient inside containers.
examples/compose.yaml into your stack and adjust the secrets and repository targets.configs.restic-backup-cron. They will be picked up from /etc/supercronic/crontab at runtime.volumes or volumes_from and restart the service.docker compose -f examples/compose.yaml up --detach
The provided example backs up a Vaultwarden container, prunes old snapshots, and runs restic check nightly.
The entrypoint only reads a single optional variable:
| Variable | Description |
|---|---|
RESTIC_INIT_ARGS | Extra flags passed to restic init. |
Every other variable you see in the compose example (RESTIC_REPOSITORY, RESTIC_PASSWORD_FILE, RCLONE_CONFIG, APPRISE_URL, etc.) belongs to restic, rclone, or apprise. Set them exactly as those projects expect.
Need additional tools (for example mysqldump)? Extend the image:
FROM ghcr.io/mbotezatu/restic-backup:latest
RUN apk add --no-cache mysql-client
Distributed under the terms of the MIT License. See LICENSE for details.
Content type
Image
Digest
sha256:fe1a13345…
Size
59.8 MB
Last updated
10 months ago
docker pull mbotezatu/restic-backup