[{"data":1,"prerenderedAt":90},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-en-backrest":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"slug":7,"name":8,"description":9,"phase":10,"docsUrl":11,"logo":12,"github":12,"tagline":13,"longDescription":14,"features":15,"useCases":25,"steps":38,"faq":54,"specs":73,"compatibleOs":81,"relatedApps":82,"relatedPosts":83,"category":84},"backrest","Backrest","Web backup UI for restic: schedule encrypted, deduplicated backups of your VPS to S3, Backblaze B2 or any remote, browse snapshots and restore a single file in a few clicks.",1,"https:\u002F\u002Fservorbit.com\u002Fblog\u002Fself-host-backrest-vps",null,"Encrypted, deduplicated VPS backups with a web UI — restic's power without the command line. Single container, under 100 MB RAM.","Backrest is an open-source web UI and orchestrator for restic (~7 k GitHub stars, GPL-3.0, v1.14.1). restic is the reference open-source backup engine — encrypted end-to-end, deduplicated and incremental — but it is a command-line tool, which means cron entries, shell scripts and a lot of remembered flags. Backrest wraps it in a browser interface: create repositories, define backup plans with a schedule, browse snapshots as a file tree and restore individual files or whole directories, all without typing a restic command.\n\nSelf-hosting Backrest on a ServOrbit VPS is what turns a server into a server you can actually lose. Every snapshot is encrypted client-side before it leaves the machine, so the destination never sees your data in the clear — you can safely push backups to Backblaze B2, Amazon S3, Wasabi, an SFTP box or any of the dozens of rclone remotes restic supports. Deduplication means the second snapshot of a 20 GB server typically costs a few hundred megabytes, so retention of months of history stays affordable.\n\nBackrest runs as a single Go binary in one container using under 100 MB of RAM, with no database and no external dependency. It handles the operational chores restic expects you to script yourself: cron-style scheduling, retention policies (keep N daily, weekly, monthly), automatic `prune` and `check` runs to keep the repository healthy, and hooks that fire on success or failure — point one at your ntfy topic and a failed backup pushes to your phone instead of dying silently in a log.",[16,17,18,19,20,21,22,23,24],"Web UI over restic — create repos, run backups, browse snapshots as a file tree and restore files or folders without a single command line.","End-to-end encryption: every snapshot is encrypted client-side before upload, so the storage provider never holds readable data.","Deduplicated and incremental — only changed blocks are uploaded, so months of retention typically cost a fraction of the source size.","Any restic backend plus every rclone remote: Amazon S3, Backblaze B2, Wasabi, MinIO, SFTP, Azure, Google Cloud Storage or a plain local disk.","Cron-style scheduling per plan, with retention policies (keep N hourly \u002F daily \u002F weekly \u002F monthly \u002F yearly).","Automatic repository maintenance — scheduled `prune` to reclaim space and `check` to detect corruption before you need the backup.","Hooks on backup start, success and failure — send the result to ntfy, Discord, Slack or any webhook, or run a shell command (e.g. dump a database before the snapshot).","Multiple repositories and multiple plans side by side — back up \u002Fhome hourly to B2 and \u002Fetc daily to a local disk from the same instance.","Single Go binary, under 100 MB RAM, no database — restic is the only dependency and it ships in the image.",[26,29,32,35],{"title":27,"body":28},"Off-site backup of a production VPS","Schedule a nightly encrypted snapshot of \u002Fhome, \u002Fetc and your application data to Backblaze B2 — a few euros a month for months of retention thanks to deduplication. Because encryption happens before upload, the storage provider is untrusted by design: a compromised bucket leaks nothing readable.",{"title":30,"body":31},"Restoring one file, not the whole server","A configuration file overwritten this morning, a database dump deleted by a script. Browse yesterday's snapshot as a file tree in the browser, select the single file and restore it — no full restore, no downtime, no reading restic's manual under pressure.",{"title":33,"body":34},"Database dumps captured consistently","Use a pre-backup hook to run `mysqldump` or `pg_dump` into a directory, then let the plan snapshot it. You get an application-consistent backup rather than a copy of live database files, without writing your own cron chain.",{"title":36,"body":37},"Backups that tell you when they fail","The classic backup failure is silence — a job that stopped running three months ago and nobody noticed. Point the failure hook at your self-hosted ntfy topic and a broken backup pushes to your phone the same night, so you find out before the restore does.",[39,42,45,48,51],{"title":40,"body":41},"Order a ServOrbit VPS","Any plan with 1 GB RAM is plenty — Backrest idles under 100 MB and the heavy lifting is I\u002FO, not memory. Install it on the VPS you actually want to protect, since it backs up that machine's own filesystem.",{"title":43,"body":44},"Deploy Backrest from the ServOrbit marketplace","Open your ServOrbit dashboard → Marketplace → Backrest → Install. Provisioning pulls the image, mounts \u002Fhome, \u002Froot and \u002Fetc read-only inside the container and starts it on port 9898. No domain name is required — the interface answers on the VPS IP.",{"title":46,"body":47},"Create your admin account","Open http:\u002F\u002Fyour-vps-ip:9898. On first run Backrest asks you to create a username and password — there are no default credentials. Do this immediately after install, before exposing the port beyond your own IP.",{"title":49,"body":50},"Add a repository","Add Repo, pick a backend and paste its credentials — for Backblaze B2 that is a bucket name plus an application key. Choose a strong repository password and store it in your password manager: restic encrypts with it, and without it the backups are unreadable, including by you.",{"title":52,"body":53},"Create a plan and schedule it","Add Plan, select the paths to protect (\u002Fhost\u002Fhome, \u002Fhost\u002Fetc), set a cron schedule and a retention policy such as 7 daily, 4 weekly, 6 monthly. Run it once by hand to confirm it completes, then let the schedule take over — and add a failure hook so you hear about problems.",[55,58,61,64,67,70],{"q":56,"a":57},"What is Backrest and how is it different from restic?","restic is the backup engine — encrypted, deduplicated, incremental, and driven entirely from the command line. Backrest is a web UI and scheduler on top of it: the same engine and the same repository format, but repositories, plans, schedules, retention, restores and maintenance are managed in a browser instead of cron files and shell scripts. Your backups stay plain restic repositories, so you can always open them with the restic CLI — Backrest adds no lock-in.",{"q":59,"a":60},"Where can Backrest store the backups?","Anywhere restic supports, which includes every rclone remote: Amazon S3, Backblaze B2, Wasabi, MinIO, Azure Blob, Google Cloud Storage, SFTP\u002FSSH, or a local or network-mounted disk. Backblaze B2 is the usual choice for a VPS — inexpensive, S3-compatible and well outside your server's own failure domain, which is the whole point of an off-site backup.",{"q":62,"a":63},"Is the backup encrypted, and who holds the key?","Yes, and you do. restic encrypts every snapshot client-side, on the VPS, before anything is uploaded — the storage provider only ever receives opaque blocks. The repository password is the key. Store it in a password manager: if you lose it, the backups are mathematically unrecoverable, and neither ServOrbit nor the storage provider can restore access.",{"q":65,"a":66},"How much disk space and RAM does Backrest need?","The container itself is small — under 100 MB RAM at idle and a few hundred megabytes of image and cache. The real cost is at the destination, and deduplication makes it modest: after the first full snapshot, subsequent runs typically upload only the changed blocks, so a 20 GB server with months of daily retention often stays in the low tens of gigabytes.",{"q":68,"a":69},"Can Backrest back up files outside its container?","It backs up what is mounted into it. The ServOrbit recipe mounts \u002Fhome, \u002Froot and \u002Fetc from the host read-only under \u002Fhost, which covers user data and system configuration on a typical VPS. To protect other paths — a data directory, a Docker volume — add the corresponding read-only mount to the compose file and it appears in the plan's path picker.",{"q":71,"a":72},"How do I know a backup actually ran?","Backrest shows the status and history of every plan in the UI, and it runs scheduled `check` operations that verify repository integrity rather than merely reporting that the job started. For active alerting, configure a hook on failure pointing at a webhook — a self-hosted ntfy topic works well and puts a failed backup on your phone the same night, which is how you avoid discovering a three-month-old broken job during a restore.",{"ram":74,"cpu":75,"stack":76,"port":80},"1 GB","1 vCPU",[77,78,79],"Docker","Go","restic","9898",[],[],[],{"key":85,"slug":85,"name":86,"objective":87,"icon":88,"color":89},"deploiement","Application Deployment & DevOps","Deploy and manage modern applications.","deploy","text-success bg-success\u002F10",1785714050021]