For most people, Backblaze B2 is the best general-purpose home for a restic repository: $6.95 per TB a month, free egress up to three times what you store, and restic reaches it through its S3 API. Hetzner Storage Box is cheaper per TB in the EU, Cloudflare R2 wins if you restore often, and an append-only REST target is the strongest protection against a compromised machine deleting your history.
ServerCrate publishes this page and is one of the nine options on it. Competitor prices come from their own pricing pages and docs, linked under Sources.
restic can write to almost any storage, so the choice comes down to four things: the backend restic uses to reach it, the monthly price per terabyte, the fees that appear when you prune or restore, and whether a stolen credential can delete your history. Object stores (B2, Wasabi, S3, R2) use restic's s3 backend and bill per GB. SSH hosts (Hetzner Storage Box, rsync.net) use the sftp backend and bill flat. REST targets (ServerCrate, BorgBase, a self-hosted rest-server) use the rest backend, the only one with a built-in append-only mode.
| Provider | restic backend | Price per TB/mo | Egress and other fees | Append-only / immutability | Best for |
|---|---|---|---|---|---|
| 1. Backblaze B2 | s3 (recommended) or b2 | $6.95 | Free up to 3x stored, then $0.01/GB; API calls free | Object Lock; restic does not manage it | Cheapest general-purpose object storage |
| 2. Hetzner Storage Box | sftp (port 23) | €3.20 for 1 TB; €2.03 at 20 TB (excl. VAT) | None; traffic included | No append-only for restic; 10 automatic snapshots | Lowest cost per TB, EU data |
| 3. Cloudflare R2 | s3 | $15 | No egress; $4.50 per million writes, $0.36 per million reads | Bucket locks (retention rules) | Frequent restores, multi-site reads |
| 4. ServerCrate | rest (HTTPS) | $9 for 1 TB; $8.50/TB on 2 TB | None; unlimited bandwidth, no API fees | Append-only by default; 14 days of ZFS snapshots no key can remove | Managed append-only vault, US |
| 5. rsync.net | sftp | $15 ($10 restic-only, billed yearly) | None; 800 GB minimum (200 GB restic-only) | Immutable ZFS snapshots; append-only via forced command | SSH power users who want snapshots |
| 6. BorgBase | rest | ~$9.17 for 1 TB ($110/yr); $10/TB on 2 TB | None; overage $10-12/TB | Append-only mode with 2FA (advertised) | Borg and restic side by side, EU or US |
| 7. Wasabi | s3 | $7.99 | No egress or API fees; 1 TB minimum; 90-day minimum duration | Object Lock | 1 TB+ kept for months |
| 8. rest-server on a VPS | rest | Your VPS and disk | Your provider's bandwidth terms | --append-only flag | Full control, no third party |
| 9. Amazon S3 | s3 | ~$23 (Standard) | $0.09/GB out after 100 GB/mo; requests billed | Object Lock | Workloads already in AWS |
Prices checked October 2026 on each provider's pricing page or docs. USD unless marked, before tax, 1 TB = 1,000 GB. ServerCrate annual billing brings 1 TB to $7.50/mo. Order reflects use case, not a score.
Backblaze B2 is the cheapest mainstream object store for restic, at $6.95 per TB per month with no minimum storage duration, so pruned data stops costing money right away. Egress is free up to three times your average stored volume each month and $0.01 per GB after that, and Class A, B and C API calls are free, which matters because restic makes many small requests during check and prune. restic ships a native b2 backend, but restic's documentation recommends B2's S3-compatible API, so use the s3 backend with your B2 keyID and application key as the AWS credentials. B2 supports Object Lock; restic does not set retention itself, so if you enable a lock, plan your forget and prune schedule around it. Pick B2 for cheap, fast object storage. More in our B2 comparison.
export AWS_ACCESS_KEY_ID=<keyID>
export AWS_SECRET_ACCESS_KEY=<applicationKey>
restic -r s3:https://s3.us-west-004.backblazeb2.com/my-restic-bucket init
Use the endpoint shown on your bucket's page; the region part differs per account.
Hetzner Storage Box is the lowest-cost way to hold a large restic repository in Europe: the 1 TB BX11 is €3.20 a month and the 20 TB BX41 is €40.60, about €2.03 per TB, before VAT. There is no setup fee or traffic charge; boxes live in Falkenstein, Germany or Helsinki, Finland. Hetzner lists restic as natively supported over SFTP, which it serves on port 23, so the repository string carries the port. Each box keeps up to 10 automatic and 10 manual snapshots, a recovery point outside restic. There is no append-only mode for restic (Hetzner's append-only option is for BorgBackup), so any machine holding the SSH key can delete the repository. Pick it for bulk EU storage at the lowest price. See our Storage Box comparison and restic over SFTP.
restic -r sftp://u123456@u123456.your-storagebox.de:23/restic init
One slash after the port means a path relative to the box's home directory.
Cloudflare R2 is the pick when you restore often or read one repository from several places, because it charges nothing for egress. Standard storage is $0.015 per GB-month, about $15 per TB, so data that sits still costs roughly twice what it does on B2. Operations are billed instead: $4.50 per million Class A requests (writes and lists) and $0.36 per million Class B requests (reads), with a small monthly free tier. restic uploads data in packs, 16 MiB by default, so a full terabyte is on the order of 60,000 writes and request charges stay small. restic reaches R2 through the s3 backend with an R2 API token. R2 bucket locks can block deletion and overwrites for a set period, by prefix, which works as immutability if your prune schedule respects it.
restic -r s3:https://<account-id>.r2.cloudflarestorage.com/my-restic-bucket init
ServerCrate, which publishes this page, is a hosted restic REST target for people who want append-only protection without running a server. Each customer gets their own rest-server vault, reached over HTTPS. The backup key can add snapshots but cannot delete them; a separate cleanup key with full access runs forget and prune from one trusted machine. Below that, daily storage-level ZFS snapshots are kept for 14 days and no key can remove them. restic encrypts on your machine and we never see the password. Pricing is flat with unlimited bandwidth and no egress or API fees: 10 GB free forever, then $2/mo for 100 GB, $3 for 250 GB, $9 for 1 TB and $17 for 2 TB, with two months free on annual billing. The limits are real: one location (Los Angeles), REST only rather than SFTP or S3, and past a few TB object storage costs less.
restic -r rest:https://vaultuser:<token>@<id>.vault.servercrate.net/ init
The free Backrest desktop app works with the same URL, paid plans include a signed monthly Backup Evidence Report, and we take card, PayPal or Bitcoin. Device limits are on the pricing page.
rsync.net is the most capable plain-SSH target: a real filesystem on ZFS that any SSH tool can use, which restic reaches through the sftp backend. Standard accounts cost 1.5 cents per GB per month (about $15 per TB) up to 9 TB, with an 800 GB minimum, 7 daily snapshots included and no egress charges; 10 to 99 TB drops to 1.25 cents. A discounted restic account is 1 cent per GB ($10 per TB) with a 200 GB minimum, billed annually, but it leaves out the free ZFS snapshots and restic-specific support. rsync.net describes its snapshots as immutable, and because you control authorized_keys you can restrict a key by IP and command or force an append-only command; rsync.net links a guide that does this with rclone serve restic. Locations are three US cities, Zurich and Hong Kong. Pick it for snapshots plus SSH control. More in our rsync.net comparison.
restic -r sftp:<user>@<host>.rsync.net:restic-repo init
BorgBase hosts both Borg and restic repositories, which suits anyone running both tools or moving from one to the other. The free plan is 10 GB and 2 repositories; Small is 250 GB for $30 a year, Medium is 1 TB for $110 a year (about $9.17 a month) and Large is 2 TB for $20 a month or $210 a year. Quotas flex up to four times the included size, billed at $12 per TB on Medium and $10 per TB on Large, and there are no API or data transfer charges. Each repository can sit in the EU or the US. BorgBase advertises append-only mode secured with 2FA; its restic documentation says restic support is recent and currently covers setup only, so confirm append-only behaviour on a restic repository before relying on it. Our BorgBase comparison covers the Borg side.
restic -r rest:https://<user>:<password>@<repo-id>.repo.borgbase.com init
Wasabi suits a repository of a terabyte or more that you keep for months, because the bill is a flat $7.99 per TB per month with no fees for egress or API requests. It rose from $6.99 on July 1, 2026. Two rules decide the fit. First, pay-as-you-go accounts have a minimum monthly storage charge of 1 TB, so a 200 GB repository pays the 1 TB price. Second, deleted objects keep billing until they reach the minimum storage duration: in Wasabi's own 90-day example, an object deleted on day 16 is charged 75 more days as timed deleted storage. restic's prune deletes and rewrites packs, so frequent pruning with short retention keeps paying for data that is gone. Wasabi supports Object Lock through its S3 API, and restic connects with the s3 backend. See our Wasabi comparison.
restic -r s3:https://s3.wasabisys.com/my-restic-bucket init
That endpoint is us-east-1; other regions use s3.<region>.wasabisys.com.
Running restic's own rest-server on a VPS gives you full control and the same append-only protection the managed REST hosts provide. Start it with --append-only and clients can create new backups but cannot delete or modify existing ones; --private-repos confines each user to a repository under their own name, and --tls with a certificate serves it over HTTPS (or put it behind a reverse proxy). The cost is the VPS and disk plus your time: patching, monitoring and disk replacement are yours. One operational catch: in append-only mode nobody can prune through the server, so run forget and prune separately on a schedule, for example with restic pointed at the repository directory on the server itself. Pick it if you already run servers. Our restic backup server guide walks through it.
rest-server --path /srv/restic --append-only --private-repos \
--tls --tls-cert /etc/rest-server/cert.pem --tls-key /etc/rest-server/key.pem
restic -r rest:https://alice:<password>@backup.example.com:8000/alice/ init
Amazon S3 makes sense when your infrastructure and billing already live in AWS; otherwise it is the most expensive option here. S3 Standard is $0.023 per GB-month in us-east-1, about $23 per TB. Writes cost $0.005 per 1,000 requests and reads $0.0004 per 1,000, and data transfer out to the internet is $0.09 per GB after the first 100 GB each month, so restoring a full terabyte costs about $81 in egress alone. The tempting shortcut is Glacier: Flexible Retrieval is $0.0036 per GB-month and Deep Archive $0.00099, but objects in those classes must be restored before they can be read and carry 90-day and 180-day minimum storage durations. restic reads repository data during check, prune and restore, so keep the repository in S3 Standard. S3 Object Lock is available, with the same caveat as B2.
restic -r s3:https://s3.us-east-1.amazonaws.com/my-restic-bucket init
Every option works with a stock restic binary through a built-in backend: s3, sftp or rest.
restic keeps the repository password and storage credential on the machine it backs up. Anyone who takes over that machine has both, and restic forget --prune or a plain delete against the bucket removes every snapshot. Append-only access closes that gap: the key on the machine can add new snapshots but cannot delete old ones, and pruning moves to a separate key on a machine the attacker does not control. Storage snapshots and object locks add a second layer. If ransomware is in your threat model, choose a target with at least one, and pick a retention policy that fits it.
We sell one of the nine options; where another is cheaper, larger or closer to you, the table says so. If restic itself is the question, see restic alternatives.
For most people, Backblaze B2 through its S3-compatible API: $6.95 per TB a month, free API calls and free egress up to three times what you store. Choose Hetzner Storage Box for the lowest price per TB in the EU, Cloudflare R2 if you restore often, and an append-only REST target if protecting backups from a compromised machine matters most.
The rest backend does, through rest-server's --append-only flag: clients can create new backups but cannot delete or modify existing ones. ServerCrate turns this on by default and BorgBase advertises an append-only mode. Over SFTP you can force an append-only command for a key in authorized_keys, as rsync.net allows. Object stores offer Object Lock or bucket locks, but restic does not set retention itself, so prune has to be planned around the lock.
Not as a working repository. Objects in Glacier Flexible Retrieval and Deep Archive must be restored before they can be read, and they carry 90-day and 180-day minimum storage durations. restic reads repository data during check, prune and restore, so keep the repository in S3 Standard.
rest:https://user:password@host:port/path/ - for example restic -r rest:https://alice:secret@backup.example.com:8000/alice/ init for a self-hosted rest-server, or rest:https://vaultuser:<token>@<id>.vault.servercrate.net/ for a ServerCrate vault. The user and password authenticate to the server; the repository password that encrypts your data is separate and never leaves your machine.
Yes. restic copy transfers snapshots from one repository to another across any backends. Create the new repository with restic init --copy-chunker-params pointing at the old one so deduplication carries over, then run restic copy with --from-repo set to the old repository.
A free ServerCrate vault holds 10 GB with no card and takes one restic init to start. If another option fits better, the sources below link to its pricing.