this post was submitted on 29 Oct 2025
101 points (93.9% liked)

Selfhosted

61129 readers
336 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

I personally think of a small DIY rack stuffed with commodity HDDs off Ebay with an LVM spanned across a bunch of RAID1s. I don't want any complex architectural solutions since my homelab's scale always equals 1. To my current understanding this has little to no obvious drawbacks. What do you think?

you are viewing a single comment's thread
view the rest of the comments
[–] skilltheamps@feddit.org 7 points 9 months ago

You need to ask yourself what properties you want in your storage, then you can judge which solution fits. For me it is:

  • effortless rollback (i.e. in case something with a db updates, does a db migration and fails)
  • effortless backups, that preserve database integrity without slow/cumbersome/downtime-inducing crutches like sql dump
  • a scheme that works the same way for every service I host, no tailored solutions for individual services/containers
  • low maintenance

The amount of data I'm handling fits on larger harddrives (so I don't need pools), but I don't want to waste storage space. And my homeserver is not my learn and break stuff environment anymore, but rather just needs to work.

I went with btrfs raid 1, every service is in its own subvolume. The containers are precisely referenced by their digest-hashes, which gets snapshotted together with all persistent data. So every snapshot holds exactly the amount of data that is required to do a seamless rollback. Snapper maintains a timeline of snapshots for every service. Updating is semi-automated where it does snapshot -> update digest hash from container tags -> pull new images -> restart service. Nightly offsite backups happen with btrbk, which mirrors snapshots in an incremental fashion on another offsite server with btrfs.