Is it just me, but using local files just gives me an uneasy feeling when it comes to robust backups. How do I make sure my local files are backed up somewhere? What happens when I want to revert? How do I really know I didn't accidentally just wipe out all my notes locally with a bad command. How do I 100% know that changes I made on my desktop are reflected on other devices?<p>The obvious solution is to keep files in dropbox or google drive. This handles sync but not backup. I'm not sure about dropbox, but I know google drive is a nightmare to backup. You can use a few paid services to backup google drive, but you then need some kind of alerting to know when it's not running. Having to rely on a cloud storage service and a cloud backup storage does not give me long term confidence. I want something that works on most devices, is as future proof as possible and keep me in control of my data as much as possible.<p>Another option would be to use git to store notes, but I ran into problems when I tried to set up an auto commit and auto push. I couldn't get it working reliably. Some kind of auto pull would also be needed. Git just isn't designed to work like this so it seems like any setup would be janky at best.<p>Some options I've considered:<p><pre><code> - Evernote: cloud based. rigid structure. Bad performance. I'm not in control of my data.
- emacs: I don't use emacs any more, so it's not already part of my workflow. Bad mobile experience. Same local syncing issues.
- Trilium: Really complex for someone who does not want to work with javascript. It might be too flexible for me.
- Roam: no web app last time i looked. No self hosted version.
- Logseq: Same issues as roam. Not server based / self hosted. The FAQ did mention a future option to maybe self host the optional server sync config, but it looks like it's not even on the roadmap.
</code></pre>
My ultimate solution would be this:<p><pre><code> - Web based. This will give the ultimate flexibility for me. Day to day I either live in a browser or VSCode. An optional app would be great, but not required.
- Ideally it would save files in simple, directory based, markdown files. This would be optimal for longevity. A second best would be storing it in a Postgres database.
- Easy to backup. Flat files or a database can be easily dumped and pushed off site with a cron. I use an easy dead mans switch / healthchecks.io alert if a job has not been fired off recently. The cron does some simple checks to make sure the data is a reasonable size (above 1MB). In an ideal world, if I used a DB I would dump the contents, restore it in docker somewhere and query a test entry before pushing it off site (encrypted s3, backblaze, or both).
- The right mix of simple, but feature rich. This will be different for everyone, but for me, the key things I want are: tags, search, task lists/todo lists, directory based structure and an auto daily notes template. I'd love a button that I could click to auto generate todays notes, with some pre-set todo tasks at the top, all in a specific format. Trilium could do this, but I'm not a javascript developer, so it was a non-starter for me.
- Docker based would be ideal. I run everything I personally self host in docker. It's not a deal breaker, but I would try to implement it my self in docker if I needed to.
</code></pre>
I know my needs are different to most. My ideal setup is based on my deep understanding of tech, containerization, cloud and the cloud. The reason my ideal setup does not exist is likely because throwing a few docker containers up on a server is a non-trivial task for most people, and a desirable thing to maintain for even less people.<p>I'm still looking for my golden tool. Right now, I've actually gone back to evernote. It's "good enough" at its core task of note taking, but for someone with an eye to build a personal knowledge base over the rest of my career (20 years left), I'm still looking for the ideal tool.