https://github.com/fphammerle/docker-borgbackup-client
Alpine-based container image providing BorgBackup and OpenSSH client
https://github.com/fphammerle/docker-borgbackup-client
backup borgbackup docker podman
Last synced: 9 months ago
JSON representation
Alpine-based container image providing BorgBackup and OpenSSH client
- Host: GitHub
- URL: https://github.com/fphammerle/docker-borgbackup-client
- Owner: fphammerle
- Created: 2021-08-19T08:04:09.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-09-27T05:45:21.000Z (9 months ago)
- Last Synced: 2025-09-27T07:21:02.401Z (9 months ago)
- Topics: backup, borgbackup, docker, podman
- Language: Makefile
- Homepage:
- Size: 146 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# BorgBackup Client Container Image 💾 🐳
Alpine-based image providing
[BorgBackup](https://www.borgbackup.org/),
[OpenSSH client](https://www.openssh.com/),
and [SSHFS](https://github.com/libfuse/sshfs)
```sh
# 1. retrieve and authorize ssh client's public key
$ sudo docker run --name borgbackup_client --rm \
-v borgbackup_client_home:/home/borg:rw \
--read-only --security-opt=no-new-privileges --cap-drop=ALL \
fphammerle/borgbackup-client \
cat /home/borg/.ssh/id_ed25519.pub
# 2. add ssh server's host key to client's known_hosts file
$ sudo vim "$(sudo docker volume inspect --format '{{.Mountpoint}}' borgbackup_client_home)/.ssh/known_hosts"
# 3. set password for borg repository
$ tr -dc '1-9a-zA-Z' < /dev/random | head -c 64 \
| sudo tee "$(sudo docker volume inspect --format '{{.Mountpoint}}' borgbackup_client_home)/borg-passphrase"
# 4. initialize borg repository
$ sudo docker run --name borgbackup_client --rm \
-v borgbackup_client_home:/home/borg:rw \
--read-only --security-opt=no-new-privileges --cap-drop=ALL \
--tmpfs /tmp:size=4M \
-e BORG_PASSCOMMAND="cat /home/borg/borg-passphrase" \
fphammerle/borgbackup-client \
borg init --encryption=repokey ssh://username@host//repository
# 5. create snapshot / backup
$ sudo docker run --name borgbackup_client --rm \
-v borgbackup_client_home:/home/borg:rw \
-v ~/documents:/data/documents \
-v ~/photos:/data/photos \
-v … \
--tmpfs /tmp:size=4M \
-e BORG_PASSCOMMAND="cat /home/borg/borg-passphrase" \
fphammerle/borgbackup-client \
borg create --stats --list "ssh://username@host//repository::$(hostname)-{utcnow}" /data
```
`sudo docker` may be replaced with `podman`.
Pre-built docker images are available at https://hub.docker.com/r/fphammerle/borgbackup-client/tags
(mirror: https://quay.io/repository/fphammerle/borgbackup-client?tab=tags)
Annotation of signed git tags `docker/*` contains docker image digests: https://github.com/fphammerle/docker-borgbackup-client/tags
Detached signatures of images are available at https://github.com/fphammerle/container-image-sigstore.