Adventures in homelabs
There's a lot of stuff I want to write about, but I've been pouring all my would-be-writing time into the stuff instead of the writing!
One of those stuffs is getting a server running in my home. I'm wary to call it a "homelab" because my use cases are pretty basic at the moment. Its primary purpose is to keep Obsidian Sync running. This lets me cleanse my work laptop of all my personal notes. I'm now editing those notes remotely over SSH when I'm on my work hardware. Since Obsidian is running on the machine, the changes ~instantly sync to my phone. It's working great.
I did not, however, want to expose the computer directly to the internet. Shit's too crazy these days for me to deal with that. So I'm using Tailscale.
But because I can't run Tailscale on my work laptop, I also created a cloud VM to act as a jumpbox.
I SSH into the VM, which is running Tailscale, and then SSH into my home server.
I'm using Zellij to keep remote sessions, and Neovim for editing.
It's working quite well, actually.
And I learned that SSH actually has this "jump" feature built-in!
See man ssh and search for the -J flag.
As you might imagine, this project has included all manner of side quests: finding and buying the right machine, choosing a Linux distro, choosing a window manager / desktop environment (I'm running i3, which I adore), installing and configuring that WM/DE (i3 takes some investment), replicating my notes workflows over SSH, and much more.
Is this the most efficient use of time if I'm just trying to take some notes? Oh hell no. It's way on the other end of the spectrum. Rather, the purpose is to learn, to face and overcome some technical challenges, and to have nerdy fun along the way. I'm accomplishing those purposes in spades.
Gotta run, cheers!
- ← Previous
GitHub releases RSS (Atom) feeds - Next →
Back to the Mac