We run a little home lab with a few assorted self-hosted cloud services in an Odroid M1 box. This runs Nextcloud for file sharing and backups, a media server and few more network services. The new requirements are as follows:
- So far the notes on Parenting, Finances, House maintenance and other shared topics have been part of my personal digital garden 1. I realized the scope is now much more than a single person. We need a way for everyone to read and contribute.
- Same story for passwords. We have more than one way to do this at home and needed a way to share collections (e.g., our parents credentials) across everyone in the family.
- An alternative to the likes of X or Mastodon where I can capture half-baked ideas. I used to do this in a single markdown file in digital garden. It was messy and hard to review.
Finding the right productivity tools 2 is a huge time sink. This time it took me two days to try various docker images and settle on something that works. I better document this for the future self 😁
When I am gone
Preparation for this scenario was a significant motivation to make everyone in the family a contributor to the shared knowledge base. The best time to do this was years ago when we started the family. Second-best time is now.
We want to document two things.
- How things run today? Specifics, and patterns. E.g., filing taxes.
- Anticipate the future and share learnings or opinions to help plan for it. E.g., investment principles and plan.
Both must be separate. When emergency strikes, I don’t want us scrambling through opinions. We must follow a playbook. Second, emergency shouldn’t be the first time we see the playbook. Ideally we should practice the playbook on prior day-to-day opportunities.
What areas to focus?
- Parenting and family. This covers notes on milestones, education, toys and activities.
- House, gadgets, vehicles and other assets that require maintenance or servicing.
- Finances, investments and taxes. We manage this for us and our parents.
Let’s build this garden 🍀
Wiki and a third brain
Wiki must be an extension to the personal second brain. This ought to be simple flat files with no vendor lock-in (or database). We’d want this data to be easily replicated to smartphones for ease of access during an emergency. And finally, a pleasant editing experience.
Across the various database-less or similar options, wikijs, gollum and
flatnotes stood out distinctly. WikiJS is beautifully crafted but appeared
too complex for my needs. Their v3 is better but was not ready for use when I
tried. Gollum is simple except the templating aspects and running a
server. Flatfile is the simplest and probably too simple to not include a
hierarchical/directory support. We chose collectives app in Nextcloud for
hierarchical Markdown text files and ease of sync. Nextcloud is anyways part of
our private cloud.
We happily sync Nextcloud collectives (these are simple directories in the account) to various devices at home. Migration from personal notes to this system was straight copy and paste 💯
Two options here - sync KeePassXC as a Nextcloud file, or use Vaultwarden with Bitwarden clients on browser or phone etc. I’ve been an ardent KeePassXC user for last few years, however, this time usability was a key requirement. Bitwarden tops that area. I’m still not comfortable pushing the credentials to an external provider, so Vaultwarden was the self-hosted choice providing a compatible backend for the Bitwarden frontend apps.
Creating a shared list of credentials took a bit of imagination. Here’s what we settled in.
- Created an organization for the Family.
- Use vault for individual users and a family user account. These are used to store non-shared personal passwords. Everyone in our family gets their own vault.
- Family organization has collections for each secure data set we want to share. E.g., house collection for identity/tax etc. details of house. Similarly, collections for our parents etc. Each collection can be shared with users.
- The family user owns Family organization. This is managed by the admin. Other users have read/write access to individual collections.
- To create a shared secret, use the relevant collection in Family organization. Private secrets go to your own user vault.
With the Bitwarden apps each user can locally replicate their vault and collections they have access to.
Memos and a working memory
I consume news primarily on my phone. Recently the two-year-old Kindle got stuck into an infinite boot loop and gave up. Luckily, I recovered the notes via USB mount. Now phone is also the go-to for books. I might continue to use the Kindle store for book purchases and convert these into open formats (epub) for reading.
It’s super easy to divulge into binge-reading or flipping with phone as the default device. I believe that our muscle memory is trained to do this by now. There isn’t a good and simple annotation solution for browsers. I tried to work around this with Markor app and using a single Markdown to capture working memory. It didn’t work.
Enter Memos and the MoeMemos app. Memos provides a self-hosted service to capture running thoughts like X or Mastodon except it is private, supports organizing via tags and I love the minimalist design. Now all the highlights from various web pages go to Memos. I do a manual review every week and capture them into the knowledge base.
That’s all the updates in this round up.
A key principle for us is to use open and durable standards for managing the notes or capturing thoughts. There’s a small community of tinkerers building open source tools for thoughts on these standards. In our lab, we’re working on noted to act a bridge between working memory (various annotations) and the personal knowledge base (second brain, digital garden or whatever you call it). We’re in good company 🤝
Do checkout the companion note on reading workflow to learn more!
A collection of markdown files stored in
git. It is hierarchical with each directory marking a topic or subtopic. This has a readership of exactly one. My goal is to leave this for my next gen someday. And who knows, maybe they’ll create a digital version of me from these notes :rolling_on_the_floor_laughing: See reading workflow. ↩
My recipe this time was to refer the r/selfhosted community for a list of tools. Rapidly try out few scenarios in local docker where applicable. ↩