Add devops days presentation, software_pi service, and update software_toolbx
- Add presentations/devops_days_self_hosting_presentation.md - Add active/software_pi/ service directory - Update active/software_toolbx/Containerfile - Update retired/kubernetes_userspace submodule LLM-Generated: true
This commit is contained in:
@@ -0,0 +1,174 @@
|
||||
# An Opinionated Guide to Home Labbing: from Hardware to Software
|
||||
|
||||
## Abstract
|
||||
|
||||
Between increasingly required subscriptions, privacy terms changing overnight,
|
||||
and the difficulty of downloading your own data, it often feels like we rent our
|
||||
digital lives rather than own them. We'll walk you through hardware selection,
|
||||
the tools you'll need, the operating systems you'll install, and the software
|
||||
you might want to support for your homelab. We'll share our experience with our
|
||||
own variety of hardware, which ranges from tiny Raspberry Pis to mid-size laptop
|
||||
motherboards to overkill Threadripper servers. We'll talk about the operating
|
||||
systems we use and which ones have found the most stability and longevity in our
|
||||
deployments while comparing them to other homelab operating systems. We'll cover
|
||||
common homelab use-cases like media servers, Git servers, network storage, and
|
||||
local AI tooling. We'll also talk about safety and maintenance so you can weigh
|
||||
the choice of cutting the cloud cord properly. By the end of this talk you'll have a
|
||||
starting point for your own homelab journey, and maybe even a grocery list.
|
||||
|
||||
Alex Oladele is a senior software engineer at Red Hat, working on Ansible Galaxy
|
||||
as part of the Ansible Automation Platform. He is a member of Black Python Devs
|
||||
and speaks at conferences about compassionate culture, Python, and practical
|
||||
engineering skills. He is passionate about mentoring and creating safe,
|
||||
inclusive spaces in tech. Outside of work, he builds silly side projects and
|
||||
runs a homelab he is very proud of
|
||||
|
||||
Reese is DIY technology enthusiast with a passion for projects that make things
|
||||
easy. He's been working in development since 2017 with experience in risk,
|
||||
scripting automation, full stack web development, container infrastructure, amd
|
||||
homelab server hardware. He has a passion for mentoring, but even more of a
|
||||
passion for sharing the new tech he found last week with anyone who will listen.
|
||||
Currently, he leads the agentic vulnerability management team at Hungtington
|
||||
Bank.
|
||||
|
||||
## Structure
|
||||
|
||||
"I'm lazy, I don't want my family to kill me, and it works"
|
||||
|
||||
1. I want this in my house
|
||||
2. I want to connect outside my house
|
||||
3. I want my friends to connect
|
||||
4. I don't want this to go down
|
||||
5. I want to recover if there's an error
|
||||
6. My server died, what now?
|
||||
|
||||
## Thoughts
|
||||
|
||||
Give 2 ideas per section. First for "I can't let this break my family will kill
|
||||
me". Second for "I have an understanding partner who is my cat and won't care."
|
||||
|
||||
## Story driven presentation
|
||||
|
||||
I have decided to make a strong home server. Where do I even start?
|
||||
|
||||
Overarching theme:
|
||||
|
||||
- This is about privacy, control, and stability
|
||||
- This is not about saving money
|
||||
- This is not about keeping up with the bleeding edge of the industry
|
||||
- (Both of these things might happen though, and that's great when it does)
|
||||
|
||||
1. Hardware: you find a box (old laptop, rpi) you're set.
|
||||
|
||||
- Reese
|
||||
- Framework 13 motherboard for experiments, QA, Forgejo/Gitea runners, `experimental.reeseapps.com`
|
||||
- Raspberry pi for home assistant
|
||||
- Threadripper 3000 series with a bunch of disks for main apps
|
||||
- framework desktop for local AI
|
||||
- Alex
|
||||
- "Gaming PC Foundation": 5950x + ddr4 64GB ram (before memory shortage)
|
||||
- Framework motherboard
|
||||
- Raspberry pi cluster
|
||||
|
||||
2. I'm a little familiar with linux but what do I install on that hardware?
|
||||
|
||||
- Alex: Truenas, Raspberry Pi OS
|
||||
- Reese: Address the proxmox shaped elephant in the room, Fedora, Alma Linux, cloud init
|
||||
|
||||
3. What does your homelab maintenance toolbox look like? What toolkit do you
|
||||
open to work on your homelab? What do you bring to the table to start
|
||||
tinkering?
|
||||
|
||||
- Reese: btop, podman, uv, yarn, pi.dev, borg backup, distrobox (talk about misconceptions like bash history preservation)
|
||||
- AI in the homelab, safety, security, privacy
|
||||
- Discuss the progression: chat bots -> harnesses -> agentic integration
|
||||
- Alex: truenas catalog, ansible, opencode
|
||||
- Discuss security in your tooling like setting wait periods before yarn installing
|
||||
- mention uv acquisition
|
||||
- Building custom apps with AI
|
||||
|
||||
4. So you want to launch some containers
|
||||
|
||||
- We dislike docker compose
|
||||
- Truenas apps
|
||||
- quadlets + podman
|
||||
- kubernetes (k3s) and its downsides
|
||||
|
||||
5. When to use VMs
|
||||
|
||||
- An extra layer of isolation
|
||||
- Easier networking
|
||||
- Simpler to prevent resource exhaustion
|
||||
- Talk about "right-sizing": Every VM gets 2GB ram and 2cpu cores to start. On a 32GB system, assuming 4GB for the host, that creates 14 VM "slots".
|
||||
- Alma Linux 10 takes up about 450MB at boot with nothing installed
|
||||
- Double the memory when resource exhaustion happens
|
||||
|
||||
6. I want to install a new app while I'm at friend's house
|
||||
- Truenas web portal (app page, both official and community) + tailscale
|
||||
- VPN and I need access to my computer
|
||||
|
||||
7. I want to check my server status on my phone (updates, disks, memory pressure, error logs, services running)
|
||||
- Truenas web interface
|
||||
- Cockpit web interface
|
||||
|
||||
8. I want to add more storage
|
||||
- Truenas ZFS storage pools
|
||||
- BTRFS pools
|
||||
|
||||
9. I want to install a new alpha app without much support
|
||||
- Truenas custom docker compose images
|
||||
- Fedora clone and run (in a VM for style)
|
||||
|
||||
10. I want to backup my photos
|
||||
- Google Photos: don't use git, images aren't meant for git
|
||||
- **Immich, with backups (tell stories about losing my image data)**
|
||||
|
||||
11. I want a local copy of my code
|
||||
- Github
|
||||
- Gitea/Gitlab (talk about that transition)
|
||||
- Forgejo
|
||||
|
||||
12. I want private document editing
|
||||
- Google drive, Obsidian (forces use of markdown as my standard)
|
||||
- VSCode + pandoc (commit markdown files as your documents)
|
||||
- Nextcloud (Collabora)
|
||||
|
||||
13. I want a local, offline LLMs
|
||||
- llama.cpp is great, but has a very high learning curve
|
||||
- Ollama has pitfalls
|
||||
- You don't know which model you're downloading
|
||||
- Model inference is not optimized
|
||||
|
||||
14. I want to watch media I own
|
||||
- Plex - I know that ruffles some jimmies. Give example: add letterbox support into Plex.
|
||||
- Jellyfin if you're cheap
|
||||
|
||||
15. I want to know when something goes wrong
|
||||
- Uptime Kuma!
|
||||
- NTFY
|
||||
- N8N
|
||||
- Truenas sending emails if there's an error
|
||||
- Fedora requires a custom solution
|
||||
|
||||
16. I want "reasonable availability"
|
||||
- Truenas hits 90%+ availability. Updates take it down for reboot (5-10
|
||||
minutes). Disk failure requires full shutdown, disk swap, and rebuild.
|
||||
This could be half a day.
|
||||
- Fedora hits 90%+ availability. Updates take it down for reboot (<1 min).
|
||||
Disk failures can be ignored by rebalancing. Disk failures still require
|
||||
full shutdown and resilver. This can take half a day.
|
||||
|
||||
17. I want to automate my house
|
||||
- Home Assistant (raspberry pi or green)
|
||||
|
||||
18. I want backups of all my data
|
||||
- No backups is an option
|
||||
- Local weekly backups to usb drives via Truenas data replication
|
||||
- Borg backup via CLI or Pika.
|
||||
- Full disk backups, app directory backups, hybrid model
|
||||
- Backblaze and S3 integration for Truenas
|
||||
- 3 copies of your data, 2 different media, 1 off site.
|
||||
|
||||
1. I want a private VPN
|
||||
- Tailscale, moved from wifiman, also moved from pivpn
|
||||
- unifi wireguard server, rawdog wireguard on a pi
|
||||
Reference in New Issue
Block a user