Skip to content

Backups #124

Description

@0xlua

Some thoughts on my backup solution. My phone backs up weekly, as does my nas, but all my personal computers currently don't do backups. These are my goals:

PCs

Namely my desktop and my laptop. The plan is to split data/files into three categories:

  1. config: this repo. Probably won't be included in backups, but I will mirror this repo to codeberg (see Migrate to codeberg #186).
  2. impermanent: won't be included in backups (see Full Disk Encryption, Secure Boot & Impermanence #126). Mostly temporary files, automatically created files, cache that can easily be recreated or don't matter
  3. state: the important stuff. Either needed to fully restore a machine or personal data like documents. Also secrets like passwords (bitwarden) and private keys. If I don´t want to rely on someone elses cloud I could use ludusavi to backup game save files.

Here is some more inspiration on how to categorize files.

All in all, the need for backups of my computers is pretty minimal, since I can recreate it mostly from this repo and personal data is mostly kept on my NAS. The most important step here is to make it easier to setup a fresh install with this flake and document the steps (see #205).

Tools

I'm not sure whether to use borg or restic. Actually I'm not sure, whether to do backups here at all.

NAS

This is the important one. Currently the following types of data are stored here:

  • Video: Movies and TV Shows. Won't be backed up, as it can be recreated from the physical media or be reacquired otherwise. If cloud storage should become available in abundance in the future, I might include these to save time after recovering from disaster
  • Books and Music: Probably same as video media, but will still backup, since the storage requirements are much smaller.
  • Documents: VERY important. This is my life as a paper trail. Also the only thing that is currently backed up.
  • Personal Data: This includes projects I'm working on at the moment, photos, notes, stuff like that. The second most important thing. Also backed up weekly.
  • Backups: Doesn´t exist currently, but computer backups should also be stored here, for faster recovery. Will decide later, if this is backed up, or if my computers back themselves up to two locations (NAS and cloud).

While the shares should be backed up, the config should probably be too. Relevant documentation

Server

All of my self-hosted services. This includes VERY important stuff like Bitwarden, Mail and my OIDC provider, mildly important stuff like my bookmarks and less important stuff like KitchenOwl.

In general it is the same setup as above: config is mostly in this repo and impermanent data doesn't need to be backed up.
The state in this case could simply be all podman volumes. It may not be so simple however, since some apps have their own backup options (see below).
Compared to my computers this flake is a lot less pure regarding the config. A lot of important stuff isn't committed / nixified yet, this has to be addressed (see #132).

To backup volumes: zerobyte, docker-volume-backup, borgbackupserver, pluton

Per Service Backup

Other devices

The most important one being my firewall running OPNsense. I have to look into this more.

Off-Site

Currently this is a Hetzner Storage Box. S3-compatible storage could be a viable alternative:

Further Reading

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions