Geen ID bij aanmelden · Storage VPS van 500 GB tot 8 TB · Betalen met BTC, USDT, USDC, ETH, SOL, LTC, XMR
Taal: Nederlands
Bekijk storage

Borg-backupserver · stap voor stap

Hoe stel ik een Borg-backupserver in op een storage-VPS?

Een Borg-server is niets meer dan een SSH-account dat één commando mag uitvoeren. Beperk dat commando per sleutel, houd clients append-only en doe het prunen vanaf een plek die een aanvaller niet kan bereiken.

Laatst bijgewerkt: · 8 min leestijd

Snel antwoord

Hoe stel ik een Borg-backupserver in op een VPS?

Om een Borg-backupserver op een VPS in te stellen, installeer je Borg 1.x aan beide kanten, maak je een borg-gebruiker aan en forceer je borg serve --restrict-to-path --append-only op elke clientsleutel. Initialiseer elke repository met repokey; prune en compact vanaf een aparte beheerderssleutel. Een Coffervale 1 TB VPS kost $1.66 per maand bij 12 maanden (2 November 2026).

Wat zijn de stappen, in volgorde?

  1. Installeer dezelfde Borg 1.x op server en clients

    apt install borgbackup op Debian of Ubuntu en vergelijk daarna borg --version aan beide kanten.

  2. Maak een borg-gebruiker en een repository-map aan

    Eén account zonder privileges op de VPS is eigenaar van elke repository; clients krijgen nooit een shell.

  3. Forceer borg serve in authorized_keys

    Eén regel per clientsleutel, elk beperkt tot het eigen pad met --restrict-to-path en --append-only.

  4. Initialiseer de repository met repokey

    Voer borg init --encryption=repokey uit vanaf de client, exporteer daarna de sleutel en bewaar die buiten beide machines.

  5. Plan borg create op de client

    Dagelijks via cron of een systemd-timer, met de passphrase ingelezen door BORG_PASSCOMMAND.

  6. Prune en compact vanaf een beheerderssleutel

    Een tweede sleutel zonder --append-only, gebruikt vanaf een vertrouwde machine nadat je de archieflijst hebt gecontroleerd.

  7. Controleer de repository en test een restore

    borg check wekelijks, --verify-data maandelijks en een echte borg extract om de paar maanden.

Welke Borg-versie moet de server draaien?

Draai Borg 1.x aan beide kanten: 1.4.5 was de laatste stabiele release op 2 november 2026, en Borg 2 is nog in beta. De Borg 2.0-pagina noemt het een breaking release die niet rechtstreeks compatibel is met Borg 1.x-repositories, en hernoemt borg init naar borg repo-create. Op Debian 13 is het te installeren pakket borgbackup (1.4.0 in trixie); het aparte borgbackup2-pakket is een 2.0-beta. Installeer dezelfde release op de server en op elke client.

Op de storage VPS, als root: Borg, een borg-gebruiker, een map per client
apt install borgbackup
borg --version

useradd --create-home --home-dir /srv/borg --shell /bin/sh borg
install -d -m 700 -o borg -g borg /srv/borg/.ssh /srv/borg/repos
install -d -m 700 -o borg -g borg /srv/borg/repos/laptop /srv/borg/repos/web1

Hoe leg ik elke client vast op zijn eigen repository?

Zet een geforceerd borg serve-commando voor elke sleutel in /srv/borg/.ssh/authorized_keys, zodat de sleutel Borg kan draaien en niets anders. Het trefwoord restrict blokkeert port forwarding, agent forwarding en terminals, en Borg's documentatie vermeldt dat het ook SSH-functies dekt die in toekomstige releases worden toegevoegd. De voorbeelden gaan uit van een POSIX-shell als login-shell van het account, daarom krijgt de gebruiker hierboven /bin/sh.

  • --restrict-to-path PATH staat dat pad en elke map eronder toe, zodat één client meerdere repositories kan hebben.
  • --restrict-to-repository PATH is strenger: precies één repository, geen submappen.
  • --append-only laat de sleutel archieven toevoegen maar geen gegevens uit de repository verwijderen.
  • --storage-quota 500G begrenst wat één sleutel kan opslaan, zodat een uit de hand gelopen client de schijf niet vult.

Elke regel blijft op één regel in het bestand; de admin-sleutel aan het einde heeft geen --append-only en wordt alleen gebruikt voor prunen.

/srv/borg/.ssh/authorized_keys (owner borg, mode 600)
command="borg serve --restrict-to-path /srv/borg/repos/laptop --append-only",restrict ssh-ed25519 AAAA...laptop-key... laptop
command="borg serve --restrict-to-path /srv/borg/repos/web1 --append-only --storage-quota 500G",restrict ssh-ed25519 AAAA...web1-key... web1
command="borg serve --restrict-to-path /srv/borg/repos",restrict ssh-ed25519 AAAA...admin-key... admin
Herstel eigenaarschap na het bewerken, als root
chown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keys

Hoe maak ik de repository met repokey-versleuteling?

Draai borg init --encryption=repokey vanaf de client, exporteer daarna de sleutel en bewaar die buiten zowel de VPS als de machine die je back-upt. Borg's documentatie raadt repokey met een sterk wachtwoord aan als vuistregel; repokey-blake2 is dezelfde modus met een BLAKE2b-hash, waarschijnlijk sneller op processors zonder hardwareversnelde SHA-256. Met repokey staat de sleutel in het bestand config van de repository, verzegeld met je wachtwoord. Raak je het wachtwoord kwijt, dan zijn de back-ups onleesbaar, voor jou en voor iedereen. Borg zegt ook dat je een kopie van de sleutel buiten de deur moet bewaren, bijvoorbeeld op papier.

Op de client (hier: de laptop)
ssh-keygen -t ed25519 -N '' -C 'borg laptop' -f ~/.ssh/borg_ed25519

cat >> ~/.ssh/config <<'EOF'
Host coffer-borg
    HostName 203.0.113.10
    User borg
    IdentityFile ~/.ssh/borg_ed25519
    IdentitiesOnly yes
EOF

export BORG_REPO=ssh://coffer-borg/srv/borg/repos/laptop/main
borg init --encryption=repokey
borg key export --paper "$BORG_REPO" ~/borg-laptop-key.txt
/usr/local/sbin/borg-backup on a server client, run daily as root
#!/bin/sh
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main
# the passphrase file belongs to root, mode 600
export BORG_PASSCOMMAND='cat /root/.config/borg/passphrase'

borg create --stats --compression zstd,3 \
    ::'{hostname}-{now:%Y-%m-%dT%H:%M}' \
    /etc /home /var/www

Hoe prune en compact ik een append-only repository?

Vanaf een vertrouwde admin-machine, met de sleutel die geen --append-only heeft, nadat je hebt gecontroleerd dat er geen archief ontbreekt. In append-only modus, leggen Borg's notities uit, draaien prune en delete nog steeds, maar markeren ze gegevens alleen als verwijderd in een nieuwe transactie, en vindt er nooit compaction plaats, zonder waarschuwing en zonder fout. Repository-ruimte komt pas vrij wanneer borg compact draait vanaf een sleutel die mag herschrijven.

Dezelfde notities bevatten de valkuil: de eerste schrijfactie in normale modus maakt elke eerdere verwijdering permanent, inclusief een verwijdering die een aanvaller via een clientsleutel deed. Dus lijst eerst de archieven op. Ontbreken er een paar, stop dan en volg de herstelstappen in Borg's append-only notities voordat je iets pruned. Een cronjob die automatisch pruned met een onbeperkte sleutel maakt append-only zinloos. Borg's documentatie raadt ook een --dry-run met --list aan vóór elke echte prune.

Op de admin-machine, Host coffer-admin met de admin-sleutel
export BORG_REPO=ssh://coffer-admin/srv/borg/repos/web1/main

borg list
borg prune -v --list --dry-run --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg compact

Hoe controleer ik de repository en bewijs ik dat een restore werkt?

Draai borg check wekelijks, borg check --verify-data maandelijks, en pak elke paar maanden echte bestanden uit op een andere machine. Een gewone check verifieert de repository en de archiefmetadata. --verify-data leest, ontsleutelt en decomprimeert elk chunk, wat Borg zeer tijdrovend noemt, en op harde schijven is dat ook zo. Voor een grote repository splitst --repository-only --max-duration 3600 de repository-check in blokken van een uur die hervatten waar ze stopten. Niets hiervan vervangt een echte restore: een back-up is alleen zo goed als de laatste keer dat je er gegevens uit hebt gehaald.

Checks en een testrestore, vanaf de client
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main

borg check -v
borg check -v --verify-data
borg check -v --repository-only --max-duration 3600

mkdir -p /tmp/restore-test && cd /tmp/restore-test
borg list
borg extract --list ::web1-2026-11-02T03:00 etc/nginx

Wat kost een Borg-doel vergeleken met gehoste Borg-opslag?

Volgens Coffervale's onderzoek van 2 november 2026 kostte gehoste Borg-opslag $9.17 per TB per maand bij BorgBase (1 TB Medium-plan, $110.00 per jaar) en $15.00 per TB bij rsync.net, terwijl storage VPS-plannen van hosts die crypto accepteren zonder identiteitsdocument een mediaan hadden van $4.00 per TB. Gehoste diensten draaien de server voor je; een storage VPS geeft je root en de opzet hierboven, een keuze die wordt afgewogen in Is een storage VPS een goedkoper alternatief voor rsync.net of BorgBase?. We maken geen back-up van je server en bewaren nergens anders een kopie van je data, dus wat op een Coffervale opslag-VPS staat, moet een van jouw kopieën zijn, nooit de enige, dus de Borg-server is één kopie onder meerdere, zoals Hoe gebruik ik een VPS voor off-site back-ups? uitlegt. Het 1 TB-plan staat in detail in Waar kan ik een VPS met 1 TB opslag krijgen?, en als je restic prettiger vindt, lees Restic: REST-server of SFTP voor back-ups naar een VPS?. Om ook de VPS-schijf te versleutelen, zie Hoe mount en formatteer ik de opslagschijf op een Linux VPS?.

Borg-doelen per TB per maand, 2 november 2026

Borg-doelPer TB per maandWat je zelf draaitBetalen met crypto
BorgBase Medium, 1 TB$9.17 ($110.00 per jaar)Niets: gehoste Borg- en restic-repositoriesNiet vermeld
rsync.net, tier 0 tot 9 TB$15.00Niets: ZFS-opslag bereikbaar via SSHNiet vermeld
Storage VPS, mediaan van 99 plannen$4.00De Borg-server die op deze pagina wordt opgezetJa: hosts die crypto accepteren zonder identiteitsdocument
Coffervale Clay, 1 TB$1.66 bij 12 maandenDe Borg-server die op deze pagina wordt opgezetBTC, USDT, USDC, ETH, SOL, LTC, XMR

Prijzen gecontroleerd op

Prijzen zoals gelezen op de eigen pagina van elke dienst op 2 november 2026. BorgBase factureert het Medium-plan jaarlijks en vermeldt prijzen exclusief VAT; de mediaan van de storage VPS dekt plannen van 500 GB of meer, op voorraad en maandelijks gefactureerd.

Vragen over een Borg-back-upserver

Moeten client en server dezelfde Borg-versie hebben?

Houd beide op Borg 1.x, idealiter dezelfde release. Borg 2 is nog in beta, gebruikt een nieuw repository-formaat en kan 1.x-repositories niet rechtstreeks openen. Installeer op Debian 13 borgbackup, niet borgbackup2.

Moet ik --restrict-to-path of --restrict-to-repository gebruiken?

--restrict-to-path staat een map en alles eronder toe, handig wanneer één client meerdere repositories heeft. --restrict-to-repository staat precies één repository toe en geen submappen, de strakkere keuze wanneer elke client er één heeft.

Waarom krimpt mijn repository niet na borg prune?

Prune markeert archieven alleen als verwijderd; borg compact maakt de ruimte vrij. Via een append-only sleutel draait compaction helemaal nooit, dus prune en compact met de admin-sleutel.

Kan één storage VPS Borg-repositories voor meerdere machines bevatten?

Ja. Geef elke machine een eigen sleutelregel in authorized_keys, een eigen pad en, als de schijf gedeeld is, een eigen --storage-quota. Eén gecompromitteerde client bereikt dan slechts één repository.

Wat gebeurt er als ik de Borg-passphrase kwijtraak?

De repository wordt definitief onleesbaar. Borg kan hem niet herstellen en de host ook niet. Bewaar de passphrase in een password manager en de geëxporteerde sleutel op papier, weg van de VPS en de client.

Bronnen (13)
  1. Borg 1.4.5-documentatie: repositories hosten — BorgBackup project (read 2026-11-02)
  2. Borg 1.4.5-documentatie: borg serve (opties beperken, append-only, opslagquota) — BorgBackup project (read 2026-11-02)
  3. Borg 1.4.5-documentatie: borg init (encryptiemodi, sleutelback-up) — BorgBackup project (read 2026-11-02)
  4. Borg 1.4.5-documentatie: borg prune — BorgBackup project (read 2026-11-02)
  5. Borg 1.4.5-documentatie: borg compact — BorgBackup project (read 2026-11-02)
  6. Borg 1.4.5-documentatie: borg check — BorgBackup project (read 2026-11-02)
  7. Borg 1.4.5-documentatie: Additional notes, append-only mode — BorgBackup project (read 2026-11-02)
  8. Borg 1.4.5-documentatie: Quick start (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
  9. Borg 2.0 (voorlopige informatie) — BorgBackup project (read 2026-11-02)
  10. BorgBackup-releases (1.4.5 nieuwste, 2.0.0b25 pre-release) — BorgBackup project on GitHub (read 2026-11-02)
  11. Debian trixie-pakketten: borgbackup 1.4.0, borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
  12. Plannen en prijzen borgbase.com — BorgBase (read 2026-11-02)
  13. Cloudopslag-prijzen rsync.net/pricing.html — rsync.net (read 2026-11-02)

Vanaf $1,24/maand · zonder KYC

Bekijk storage