2024-03-11 | 2024-03-13

CAVEAT LECTOR: This is a daily note! Sometimes they’ll be structured, sometimes they won’t. These are more for the benefit of my near- and long-term future self, but I do tend to publish them in case they’re somehow helpful for other people.

Today’s Plan

Yesterday was, in fact, pretty much a complete wash Goblin-wise. That said, last night I got an actual human amount of sleep, so I’ll be starting work a couple hours early today to hopefully shift everything a healthy amount forward for the day

B-Block

  • N/A

M-Block

  • N/A

E-Block

  • N/A

Today’s Report

To have the full intended experience, please listen to the Pikmin 2 “Today’s Report” theme while reading & writing this

Alright! I broke yesterday’s homelab stalemate by sucking it up, getting past the need to over-engineer simple problems, and just… popping GParted onto a thumb drive and resizing the partition. As it turns out, easy problems only become hard problems when you make them hard problems ¯\(ツ)

This did leave time to get to the actual “lab” part of “homelab.” This involved knocking a few things off my list:

Proxmox Game Servers

While the amount of focus has been nice, I will admit - I’m a bit lonely at the moment? A week ago the plan was to set up the server to play with friends, and that still hasn’t happened - so I wanted to at least get this off the ground tonight. This, however, cycled through a few phases… sometimes multiple times.

  1. Originally, the plan was to use a lightweight Docker LXC on Alpine, with a sidecar Portainer instance, to run the game servers. However, coming from a Desktop Ubuntu environment, I was seriously missing the ability to load the Tailscale Docker Desktop extension to auto-add new containers to my Tailscale instance.

  2. I also thought that Portainer was a bit too overkill for what I was trying to do. Honestly, I saw a bunch of very Enterprise-y™ things, got scared, and looked at other solutions.

  3. Next stop was briefly trying out Pterodactyl - however, the setup process on their website absolutely tanked, so I ruled that out pretty quickly.

  4. Next up was AMP — which, to its credit, did work. However, the next snag was trying to set up a custom Docker Compose file. While AMP is great if the only control you’d like to have is “press button, have server,” I did a search across the entire system for anything resembling a Compose file and came up empty.

    Dealbreaker.

    Unfortunately, it was only a dealbreaker after I had bought a license. Whoops.

  5. Next up was TurnKey Game Server. I’d seen a few things about TurnKey and LinuxGSD while searching around and figured it was worth a try. However, after multiple attempts, I wasn’t able to get a game server up at all1. Perhaps I misunderstood how the Webmin interface works, but… I also couldn’t even get a frontend to show up. Also a dealbreaker.

So, whaddaya know? I ended up exactly where I started - Docker & Portainer. Once you get past all the buttons, Portainer is very nice.

I don’t think this is the worst thing in the world. Ultimately, every other of the above solutions (both the ones that worked, and the ones that didn’t) used weird, non-standard solutions for containerizing the game servers. The best side of the road is often the one others are driving on, and so choosing a pure-Docker solution for a very Docker-y problem is hardly a loss. However, I do wish that I’d spent less time fucking about with the options and more time just… making it work.

This spends a lot of time in my head, but it was very loud tonight.

Jellyfin & GPU Passthrough

Well, fuck.

After seeing some success with GPU passthrough, I rolled the dice on another go of it. I bought a GT 1030 card for hardware encoding & decoding for a video library I’ve got cookin’ and spent quite a bit of time tonight researching passthrough of the card into an LXC. Despite being virtually identical tasks in my own mind, the LXC passthrough turned turned out to be a surprisingly more involved process than passthrough into a VM2. After going through the trouble…

…I realized that the GT 1030 doesn’t even support encoding.

I’m not totally sure what to do with this card now…? Jellyfin hardware encoding was the entire reason I’d bought it originally. While $60 isn’t exactly financially devastating, it does feel weird having a useless card. I may do a quick search later this week to see if there’s some good reason to keep it in there - otherwise, I’ll likely take back the PCIx4 slot, likely for an additional NVME port. Still, quite the bummer.

Thankfully, most of my video library at this point is already encoded, and I suppose (worst-case scenario) I could potentially use the Windows VM (and its successfully passed-through GTX 970) to handle any on-the-spot encoding I need to do for specific files.

Personal Cloud

This is one that I kinda grazed, but didn’t get too far into - I’ve set up a NAS software to handle a bit of cloud storage, and I plan on setting up the aforementioned PCI/NVME expansion to set up a separate storage drive. I don’t have any hard drives at the moment, but this is something I’d very much like to get up-and-running at some point.

Final Thoughts: Things On My Mind

Yesterday, while internally mulling over the merits of using Quartz, I looked at the Navel-Gazing section of Maggie Appleton’s (very excellent) digital-gardening resource repo. I’d previously associated the term as being somewhat negative but realized I didn’t actually know what the term meant, so after a quick lookup on Wikipedia:

However, phrases such as “contemplating one’s navel” or “navel-gazing” are frequently used, usually in jocular fashion, to refer to self-absorbed pursuits.

I do worry somewhat that this blog - in particular, the notes section, is absolutely just me, navel-gazing, at my own cool, edgy ideas. It also coincides with a concern (possibly paranoia) that I use the word “I” too much when talking to others and that I’m being very self-absorbed.

(I’ve also noticed myself linking others to this blog in my personal day-to-day. It feels silly to say “in hindsight” considering this last happened… less than 3 hours ago: in hindsight, this comes off super pretentious and i should absolutely not do it)

(maybe i can do it a little bit - as a treat? i am pretty proud of this site so far.)

There doesn’t seem to be a great solution there, especially for the notes section, given that the whole thing is literally written in the first-person. However, I do want to make sure CGC remains a functional source of knowledge for others, and not just for my own benefit (although I do appreciate that part of this site.)

Something to think about, I suppose.

Notes

Footnotes

  1. While I’m thinking about it - honestly, from the polish of the application to the weird-ass unformatted, un-line-broken email they sent me as a confirmation for their website, TurnKey honestly doesn’t even look like a currently-maintained or legitimate website. Their stated goal is to bring server appliances to the masses, but their UX screams “Email from a Nigerian Prince” to me.

  2. GPU passthrough to LXC for decoding - https://jocke.no/2022/02/23/plex-gpu-transcoding-in-docker-on-lxc-on-proxmox/