{"id":19979033,"url":"https://github.com/fphammerle/docker-borgbackup-sshd","last_synced_at":"2025-06-26T02:04:47.039Z","repository":{"id":39652769,"uuid":"354618668","full_name":"fphammerle/docker-borgbackup-sshd","owner":"fphammerle","description":"Single-user OpenSSH server restricted to BorgBackup backend 💾 🐳 🐙","archived":false,"fork":false,"pushed_at":"2025-06-22T06:17:39.000Z","size":163,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-22T07:20:01.552Z","etag":null,"topics":["backup","borgbackup","docker","docker-compose","openssh-server","podman"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/fphammerle/borgbackup-sshd/tags","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fphammerle.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-04-04T18:33:05.000Z","updated_at":"2025-06-22T06:16:47.000Z","dependencies_parsed_at":"2023-12-23T09:27:42.676Z","dependency_job_id":"ef545d93-fca5-487d-938d-ba8f0662d0f1","html_url":"https://github.com/fphammerle/docker-borgbackup-sshd","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/fphammerle/docker-borgbackup-sshd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fphammerle%2Fdocker-borgbackup-sshd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fphammerle%2Fdocker-borgbackup-sshd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fphammerle%2Fdocker-borgbackup-sshd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fphammerle%2Fdocker-borgbackup-sshd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fphammerle","download_url":"https://codeload.github.com/fphammerle/docker-borgbackup-sshd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fphammerle%2Fdocker-borgbackup-sshd/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261984649,"owners_count":23240303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","borgbackup","docker","docker-compose","openssh-server","podman"],"created_at":"2024-11-13T03:36:13.114Z","updated_at":"2025-06-26T02:04:46.900Z","avatar_url":"https://github.com/fphammerle.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker: borgbackup-sshd 💾 🐳 🐙\n\nSingle-user [OpenSSH server](https://www.openssh.com/) restricted to [BorgBackup](https://www.borgbackup.org/) backend\n\n```sh\n$ sudo docker run --name borgbackup_sshd \\\n    -v ssh_host_keys:/etc/ssh/host_keys:rw \\\n    -v /somewhere:/repository:rw \\\n    --tmpfs /home/borg/.ssh:mode=1777,size=16k \\\n    --tmpfs /tmp:mode=1777,size=1M \\\n    -p 2200:2200 \\\n    -e SSH_CLIENT_PUBLIC_KEYS=\"$(cat ~/.ssh/id_*.pub)\" \\\n    -e SSH_CLIENT_PUBLIC_KEYS_APPEND_ONLY=\"$(cat optional-append-only-keys.pub)\" \\\n    --read-only --security-opt=no-new-privileges --cap-drop=ALL \\\n    docker.io/fphammerle/borgbackup-sshd\n\n$ borg init --encryption=editme ssh://borg@127.0.0.1:2200//repository\n\n$ borg create --stats ssh://borg@127.0.0.1:2200//repository::{hostname}-{utcnow} \\\n    ~/documents ~/photos ...\n```\n\n`sudo docker` may be replaced with `podman`.\n\nPre-built docker images are available at https://hub.docker.com/r/fphammerle/borgbackup-sshd/tags\n(mirror: https://quay.io/repository/fphammerle/borgbackup-sshd?tab=tags)\n\nAnnotation of signed git tags `docker/*` contains docker image digests: https://github.com/fphammerle/docker-borgbackup-sshd/tags\n\nDetached signatures of images are available at https://github.com/fphammerle/container-image-sigstore\n(exluding automatically built `latest` tag).\n\n### Add Additional Repositories\n\n```sh\n$ sudo docker run --name borgbackup_sshd \\\n    -v repo_foo:/some/where/repo-foo \\\n    -e REPO_PATH_foo=/some/where/repo-foo \\\n    -e SSH_CLIENT_PUBLIC_KEYS_foo=\"$(cat keys-foo.pub)\" \\\n    -e SSH_CLIENT_PUBLIC_KEYS_APPEND_ONLY_foo=\"$(cat keys-foo-append-only.pub)\" \\\n    ...\n    -v repo_bar:/some/where/else/bar \\\n    -e REPO_PATH_bar=/some/where/else/bar \\\n    -e SSH_CLIENT_PUBLIC_KEYS_bar=\"$(cat keys-bar.pub)\" \\\n    -e SSH_CLIENT_PUBLIC_KEYS_APPEND_ONLY_bar=\"$(cat keys-bar-append-only.pub)\" \\\n    ...\n```\n\nCurrently, individual keys may be authorized either for a single repository\nor for *all repositories* via `SSH_CLIENT_PUBLIC_KEYS_ALL`:\n```sh\n$ sudo docker run --name borgbackup_sshd \\\n    -v repo_foo:/some/where/repo-foo \\\n    -e REPO_PATH_foo=/some/where/repo-foo \\\n    -v repo_bar:/some/where/else/bar \\\n    -e REPO_PATH_bar=/some/where/else/bar \\\n    ...\n    -e SSH_CLIENT_PUBLIC_KEYS_ALL=\"$(cat ~/.ssh/id_*.pub)\" \\\n    ...\n```\n\n### Docker Compose 🐙\n\n1. `git clone https://github.com/fphammerle/docker-borgbackup-sshd`\n2. Add public keys to [docker-compose.yml](docker-compose.yml)\n3. `docker-compose up --build`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffphammerle%2Fdocker-borgbackup-sshd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffphammerle%2Fdocker-borgbackup-sshd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffphammerle%2Fdocker-borgbackup-sshd/lists"}