After my email, the most important thing I own is my notes. Thousands of them, years deep: how every part of this homelab is wired, the reasoning behind decisions I've long since forgotten, the running record of how everything here actually works. It's the second brain I lean on every day. The thought of losing it, or quietly corrupting it with a bad bulk edit and not noticing for a month, bothers me more than almost anything else I keep. So I treat it like code.
Notes as a Git repo
The whole notes vault is a Git repository. Every few hours a small timer commits whatever changed and pushes it. That one decision buys me the thing plain file backups never give you: history. Not just last night's copy, but every version of every note, with the ability to roll a single file back to how it read three weeks ago, or to see exactly what changed and when. A backup tells you what the data looks like right now. Version history tells you the whole story, and lets you undo a mistake you didn't catch in time. For something I'm editing constantly, that matters more than a nightly snapshot.
A remote I run myself
The remote it pushes to is a Git server I run myself, on hardware I control, never to anyone else's cloud. That was the whole point. There's no third party in the middle who could change their terms, get breached, or decide what my data is worth. Self-hosting the remote means the backup is exactly as private as the notes already are, and it costs almost nothing to run. A systemd timer does the commit-and-push on a schedule, so I never have to remember. I just write notes, and the history accrues on its own.
Two layers, not one
Git history is one layer. The other is BackInTime, which snapshots the filesystem to a separate drive on a schedule and thins the old snapshots out over time, so I also have point-in-time copies of more than just the version-controlled notes. The two answer different questions. Git answers "what did this note say last month, and what changed." BackInTime answers "a drive died, give me everything back." I want both, because they fail in different ways and cover for each other.
Know what each layer actually protects
The one habit that makes this real instead of just comforting: know exactly what each layer covers. Version history and a filesystem snapshot are excellent against the failures you actually hit day to day, a bad edit, a deleted note, a corrupted file, a drive going bad. Different layers answer different disasters, and the worst backup is the one you assume covers more than it does. So I keep them separated in my head by the exact question each one answers, and I add a new layer only when there's a question none of the current ones can answer yet.
I set all of it up and keep an eye on it from the terminal, TerminalNexus, SSH'd into the box, the same way I run everything else here.
If your notes matter to you, putting them under version control and pushing to a remote you own is a cheap afternoon that changes how it feels to edit them. You stop being careful out of fear and start trusting that anything you break is one command away from coming back. Thanks for reading.
TerminalNexus
Comments