Everybody's backup plan has the same weak link: the second copy. The first copy is easy — a cron job writing a dump to the same machine that produced it, which protects you from a mistake and from nothing else. The copy that matters lives somewhere the original cannot take with it, and for a lot of teams the cheapest honest version of "somewhere else" is a small VPS in another country running a deduplicating backup repository.
This post covers what that setup looks like with restic or Borg, what it costs with us, the storage ceiling you need to know about before you plan, and where a VPS stops being the right answer.
Why a plain VPS works well for this
- Deduplicating backup tools do the hard part. restic and Borg both do client-side encryption, chunk-level deduplication and compression. The server just holds a repository and, for Borg, runs the matching binary over SSH. There is nothing to administer beyond an SSH account and a disk.
- No traffic bill. None of our VPS plans carry a monthly transfer allowance, so nightly backups and — the part that usually costs money elsewhere — a full restore do not produce an egress line. Restoring 200 GB in a hurry is free.
- It is just a machine. You can run
borg check, prune on the server, keep an append-only setup, script whatever retention you want, and inspect the repository with ordinary tools. - Different country, different failure domain. If production is in Frankfurt, a backup repository in Bucharest is a genuinely separate site.
What it costs, and the ceiling
Storage on a VPS is the plan's disk plus extra storage in 50 GB increments at €4 a month each, up to three increments. That cap is the number to plan around: the most disk a single VPS can carry is its plan disk plus 150 GB.
| Configuration | Usable disk | Bucharest | Frankfurt |
|---|---|---|---|
| VPS I + no add-on | 20 GB | €4.00 | €5.50 |
| VPS I + 150 GB | 170 GB | €16.00 | €17.50 |
| VPS II + 150 GB | 190 GB | €18.00 | €21.00 |
| VPS III + 150 GB | 210 GB | €22.00 | €28.00 |
| VPS VI + 150 GB | 270 GB | €70.00 | €90.00 |
Read that table the right way round: for a backup target you want the smallest shape with the most disk, because the work is I/O and a little CPU, not memory. A VPS I with three storage increments — 170 GB for €16 a month in Bucharest — is the sweet spot, and 170 GB of deduplicated, compressed backups covers a surprising amount of real infrastructure: several database dumps, a few application servers' worth of files, and months of history.
Above about 270 GB a VPS is the wrong shape of product. That is where a dedicated server with real disks earns its keep, and our note on archive hosting for large media covers that end of the range.
Sizing the repository
Deduplication makes this hard to guess and easy to measure. Two rules of thumb:
- Databases dedupe poorly, file trees dedupe well. A nightly
pg_dumpis a new file each time; compressed it still adds most of its size per snapshot unless the data barely changed. A server's/etc,/homeand application directories dedupe beautifully across daily snapshots. - Budget your first full backup plus 30–50% for a few months of history, then measure. Both tools report repository size accurately; check it after two weeks and extrapolate.
Retention is the other lever, and the usual pattern is boring and correct: keep 7 daily, 4 weekly, 6 monthly. Prune on a schedule, because a repository nobody prunes is a repository that fills its disk on a Sunday.
Harden it like the last line of defence
A backup server that an attacker on your production box can write to freely is not much of a backup server. Ransomware operators look for exactly this.
- Append-only. Borg supports an append-only repository per SSH key; restic can be fronted by a REST server with append-only mode. The client can add snapshots and cannot delete them. Pruning is then done by a separate, more privileged path — from the backup server itself on a schedule, not from the machine being backed up.
- One key per client, restricted. Force the backup command in
authorized_keysso a stolen key cannot open a shell. - Disable password authentication; keys only. Then expose nothing except SSH.
- Client-side encryption, always. Both tools encrypt before upload. Store the repository passphrase somewhere that is not either machine — a password manager, ideally the one you self-host on a different box.
- Check, do not assume.
borg checkorrestic check --read-data-subseton a schedule catches silent corruption while you still have older snapshots.
Restore drills are the whole point
A backup repository is a claim about the future. Test it the cheap way: bring up an hourly VPS, restore into it, verify the application starts and the data is current, destroy it.
- A VPS III for a two-hour restore drill in Bucharest: €0.03.
- A VPS IV for a four-hour full-stack rehearsal: €0.09.
Do it quarterly and put the date in a file next to the repository. Hourly services need €5 of account credit to create and bill from that balance each hour; destroying the machine ends the charge, powering it off does not.
Which location for the repository
Not the one production is in. That is the only hard rule, and it is the rule people break to save two euro.
| Production in… | Sensible repository location | Why |
|---|---|---|
| Frankfurt or Vienna | Bucharest | Different country, cheapest disk, still in the EU |
| Bucharest | Warsaw or Amsterdam | Different country at the lower location fee |
| Somewhere else entirely | Bucharest | Cheapest EU destination we have |
All five of our locations are EU member states, so personal data in your backups stays in the Union wherever you put the repository — see the EU-only hosting note and the per-location price list. And keep the 3-2-1 idea intact: this VPS is your off-site copy, not your only copy, and a third copy with a different provider is not paranoia at these prices.
What this is not
It is not a managed backup service. Nobody at Noded watches your repository, verifies your snapshots or notices that the cron job stopped running in March. You get a machine, a disk and a network with no transfer cap; the schedule, the encryption keys, the pruning and the restore drills are yours. If you want someone to own that, buy a backup product. If you already run infrastructure and just need a disk in another country that does not charge you to read your own data back, this is a €16-a-month answer.
How Noded Can Help
Order a VPS I from the hourly VPS page in a location that is not where your production sits, add storage increments to match your repository estimate, and set it up append-only with one key per client. Run the first restore drill on an hourly machine the same week — while the setup is fresh, not when you need it. If you would like a hand sizing the repository or reviewing the SSH restrictions, open a ticket.
FAQ
How much disk can one VPS have?
The plan's disk plus up to three 50 GB extra-storage increments at €4 a month each — so 170 GB on the entry plan and 270 GB on the largest. Beyond that, a dedicated server is the right product.
Do you charge for the bandwidth of backups or restores?
No. None of the VPS plans have a monthly transfer allowance, so nightly uploads and full restores produce no extra charge.
restic or Borg?
Both dedupe and encrypt client-side and both are fine here. Borg's per-key append-only mode is the simplest way to protect the repository from a compromised client; restic reaches the same place with its REST server in append-only mode and has broader backend support if you later add object storage.
Where should the backup VPS be?
In a different country from the systems it protects. If production is in Frankfurt or Vienna, Bucharest is the cheapest separate site we have; if production is in Bucharest, use Warsaw or Amsterdam.
How often should I test a restore?
Quarterly, on a throwaway hourly VPS. A two-hour drill on our 8 GB shape costs about three cents, which is cheaper than discovering a broken repository during an incident.