[{"data":1,"prerenderedAt":158},["ShallowReactive",2],{"seo-verification":3,"blog-backups-borgbackup-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":20,"featuredImage":22,"bgImage":23,"posterImage":24,"relatedSolution":25,"intro":28,"sections":29,"ctaTitle":112,"ctaBody":113,"ctaButton":114,"ctaUrl":115,"relatedPosts":116},114,"backups-borgbackup-vps","Encrypted VPS Backups with BorgBackup","Back up your VPS with BorgBackup: powerful deduplication, authenticated encryption and compression. A complete guide and Restic comparison.",8,218,false,"2026-02-26T00:00:00+00:00",{"id":11,"name":16,"slug":17,"color":18,"icon":19},"Security & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[21],{"id":11,"name":16,"slug":17,"color":18,"icon":19},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fbackups-borgbackup-vps-poster.svg",{"categorySlug":26,"appSlug":27},"securite","borgbackup","BorgBackup is one of the most battle-tested deduplicating backup engines in the Linux ecosystem. Its content-based chunk deduplication and authenticated encryption make it a reference choice for archiving a VPS over time. Self-hosted, it gives you dense, encrypted backups that are restorable down to the individual file.",[30,34,44,47,69,109],{"type":31,"title":32,"body":33},"h2","Why back up your VPS with BorgBackup","Borg takes deduplication to a remarkable level: it splits files into chunks with variable boundaries, which detects identical data even when it is shifted within a file. As a result, weeks of daily archives fit in a fraction of the space of a single full copy. To this are added configurable compression (lz4, zstd, zlib), authenticated encryption (the repository resists tampering, not just reading) and a robust repository format. Self-hosting Borg on the VPS, pushing archives to a remote repository (ideally a BorgBackup-compatible service), gives you economical backups entirely under your cryptographic control, without entrusting your keys to a third party.",{"type":35,"title":36,"items":37},"ul","The strengths of BorgBackup",[38,39,40,41,42,43],"Variable-boundary chunk deduplication, formidably efficient on data that changes little.","Authenticated encryption: confidentiality and integrity guarantee against any tampering with the repository.","Compression of your choice (zstd, lz4, zlib) to trade off between size and speed.","Named and timestamped archives, mountable via FUSE to browse a backup like a folder.","Granular retention policy via `borg prune` (daily, weekly, monthly, yearly).","Efficient transfer to a remote repository over SSH, sending only the new chunks.",{"type":31,"title":45,"body":46},"Prerequisites for this deployment","Borg stays light on CPU, but its deduplication keeps an index in memory: plan for a VPS with 1 to 2 GB of RAM, with consumption growing with the number of chunks in the repository. Install the `borgbackup` package (and `borgmatic` to orchestrate more simply). On the destination side, you need either a Borg-compatible storage service or a second server accessible over SSH where Borg is also installed. An SSH key pair for non-interactive transfer and a location outside the VPS to keep the repository passphrase round out the prerequisites. Borgmatic, driven by a YAML file, considerably simplifies automation.",{"type":48,"title":49,"steps":50},"steps","Configure Borg backups with borgmatic",[51,54,57,60,63,66],{"title":52,"body":53},"Install Borg and borgmatic","On the VPS, install both packages (`apt install borgbackup borgmatic`). Check the version with `borg --version`. Borgmatic adds a declarative configuration layer on top of the raw Borg commands.",{"title":55,"body":56},"Initialize the remote encrypted repository","With an SSH key already deployed, initialize the repository: `borg init --encryption=repokey-blake2 ssh:\u002F\u002Fuser@backup-host\u002F.\u002Fborg-repo`. The `repokey` mode stores the encrypted key in the repository; you must keep the passphrase in a safe place outside the VPS.",{"title":58,"body":59},"Write the borgmatic configuration file","In `\u002Fetc\u002Fborgmatic\u002Fconfig.yaml`, declare the `source_directories` (for example `\u002Fetc`, `\u002Fvar\u002Fwww`, `\u002Fopt`), the remote `repositories`, the passphrase via an environment variable, and `zstd` compression. Borgmatic will chain create, prune and check in a single call.",{"title":61,"body":62},"Add database hooks","Borgmatic can dump your databases before the backup. Declare a `postgresql_databases` or `mariadb_databases` hook: the dump is generated, included in the archive, then cleaned up automatically, guaranteeing a consistent copy of the database.",{"title":64,"body":65},"Set retention and run a backup","Configure `keep_daily: 7`, `keep_weekly: 4`, `keep_monthly: 6` in the retention section, then run `borgmatic --verbosity 1`. Borg transfers only the new chunks, making subsequent runs very fast.",{"title":67,"body":68},"Schedule and verify restores","Enable the systemd timer provided by borgmatic (`systemctl enable --now borgmatic.timer`) for daily execution. Test a restore with `borgmatic extract --archive latest` to a test folder, and let `borgmatic check` validate integrity regularly.",{"type":70,"title":71,"headers":72,"rows":76},"comparison","BorgBackup or Restic: which to choose?",[73,74,75],"Criterion","BorgBackup","Restic",[77,81,85,89,93,97,101,105],[78,79,80],"Storage model","Single-machine repository, SSH access","Multi-source to a single object repository",[82,83,84],"Native backends","Local and SSH (Borg server required)","S3, B2, Azure, SFTP, rest-server",[86,87,88],"Deduplication","Variable chunks, very dense","Variable chunks, efficient",[90,91,92],"Compression","Configurable (zstd, lz4, zlib)","Limited (historically no compression)",[94,95,96],"Encryption","Authenticated (tamper-proof)","Client-side AES-256",[98,99,100],"Concurrent access","One client at a time on the repository","Multiple clients in parallel",[102,103,104],"Object storage (S3)","Indirect (via a third-party layer)","Native and direct",[106,107,108],"Orchestration tool","borgmatic (YAML)","Scripts or third-party wrappers",{"type":110,"body":111},"tip","Borg's Achilles' heel is that it allows only one client at a time on a repository and can leave a residual lock if a run is interrupted: monitor and automate clearing stuck locks with `borg break-lock` in your script, but only after verifying that no other process is writing. To guard against a VPS compromise, create on the backup server side a restricted SSH key with `command=\"borg serve --append-only\"`: the attacker will then only be able to add archives, never destroy the existing history.","Archive your VPS without compromise","With a ServOrbit Cloud VPS and its preconfigured template, deploy BorgBackup and borgmatic in a few minutes for encrypted, deduplicating and automated backups.","Deploy my BorgBackup VPS","\u002Fvps-cloud",[117,131,145],{"id":118,"slug":119,"title":120,"excerpt":121,"readTime":122,"views":123,"isPinned":13,"publishedAt":124,"category":125,"categories":126,"featuredImage":22,"bgImage":23,"posterImage":128,"relatedSolution":129},105,"superviser-vps-uptime-kuma","Monitoring your VPS with Uptime Kuma","Deploy Uptime Kuma on your VPS to monitor your sites and services self-hosted, with alerts and a public status page.",6,1520,"2026-03-07T00:00:00+00:00",{"id":11,"name":16,"slug":17,"color":18,"icon":19},[127],{"id":11,"name":16,"slug":17,"color":18,"icon":19},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":26,"appSlug":130},"uptime-kuma",{"id":132,"slug":133,"title":134,"excerpt":135,"readTime":136,"views":137,"isPinned":13,"publishedAt":138,"category":139,"categories":140,"featuredImage":22,"bgImage":23,"posterImage":142,"relatedSolution":143},106,"monitoring-vps-grafana-prometheus","VPS Monitoring with Grafana and Prometheus","Set up a Grafana + Prometheus stack on your VPS to collect, store and visualize your system and application metrics.",9,522,"2026-03-06T00:00:00+00:00",{"id":11,"name":16,"slug":17,"color":18,"icon":19},[141],{"id":11,"name":16,"slug":17,"color":18,"icon":19},"\u002Fblog\u002Fcovers\u002Fmonitoring-vps-grafana-prometheus-poster.svg",{"categorySlug":26,"appSlug":144},"grafana",{"id":146,"slug":147,"title":148,"excerpt":149,"readTime":122,"views":150,"isPinned":13,"publishedAt":151,"category":152,"categories":153,"featuredImage":22,"bgImage":23,"posterImage":155,"relatedSolution":156},107,"monitorer-vps-netdata","Monitor your VPS in real time with Netdata","Install Netdata on your VPS for per-second real-time monitoring: thousands of metrics, zero configuration, alerts included.",559,"2026-03-05T00:00:00+00:00",{"id":11,"name":16,"slug":17,"color":18,"icon":19},[154],{"id":11,"name":16,"slug":17,"color":18,"icon":19},"\u002Fblog\u002Fcovers\u002Fmonitorer-vps-netdata-poster.svg",{"categorySlug":26,"appSlug":157},"netdata",1785628420452]