Selfhosted
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:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
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.
-
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:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
Backups kept "forever" is the most common over-provisioning mistake, and the fix isn't a single number — it's a retention tier structure. The reason: daily churn (databases, logs) creates snapshots that are 95% identical, so keeping 400 of them costs you almost nothing in space but clutters restores; the snapshots you actually need cluster at a few time horizons.
A structure that works well with restic (via the
forgetpolicy, so it's declarative in one place):--keep-daily 7— last week's daily points. Covers "oops, I deleted the wrong thing yesterday."--keep-weekly 5— a month of weekly points. Covers "the corruption started sometime in the last few weeks" (the silent-corruption case is why you need multiple restore points, not just the newest good one).--keep-monthly 12— a year of monthlies. Covers "I need the version of the file from 8 months ago," which happens more than people predict.--keep-yearly 2— cheap insurance for the truly weird requests.Practical notes:
--group-by host,pathsif one restic repo backs multiple machines/tags, or forget will prune across hosts in ways that surprise you.restic forget --dry-runfirst, always. Look at what it would delete before letting prune loose. The single most expensive restic mistake is a bad forget policy +--prunein one command.restic check --read-data-subset=x%on a schedule. A retained snapshot you've never verified is a hope, not a backup.