From 813674010516822ddbe315a4ecbf3bb195e9f198 Mon Sep 17 00:00:00 2001 From: ducoterra Date: Mon, 6 Apr 2026 11:48:12 -0400 Subject: [PATCH] add presentations --- presentations/local_ai_discord_bots.md | 45 +++++++++ presentations/self_hosting_presentation.md | 109 +++++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 presentations/local_ai_discord_bots.md create mode 100644 presentations/self_hosting_presentation.md diff --git a/presentations/local_ai_discord_bots.md b/presentations/local_ai_discord_bots.md new file mode 100644 index 0000000..f9c9b95 --- /dev/null +++ b/presentations/local_ai_discord_bots.md @@ -0,0 +1,45 @@ +# Bio + +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, +compliance, scripting automation, full stack web development, container +infrastructure, homelab server hardware, ESP Home and home automation. Reese +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. Reese wants tech to be +fun and approachable for anyone at any skill level. + +## Credentials + +Reese has spoken at multiple company conferences about building websites and +automating with Python. He's taught multi-day intro-to-python classes both +online and in person. He has 8 years of industry experience, 3 of which have +been spent growing the development team at a Nimbis Services. Reese has, +professionally and personally, written and distributed Python pip packages, +designed and hosted websites, built and deployed a version control system, led +AI development teams, taught Python classes, mentored high school students in +tech, annoyed his friends with discord bots, and automated his bathroom fans. +He's accustomed to speaking in front of large and small audiences and relishes +the opportunity to share his excitement with a crowd. + +## Abstract + +This talk will walk through the process of putting your local LLM to good* use. +Through the medium of a Discord bot, we will explore how to leverage llama.cpp +to give your friends the ability to create custom bots with custom +personalities, have those personalities talk with each other, generate images, +edit images, and set yourself up to leverage tool calling so your bots can +interact with the real world. + +We will cover the state of hosting offline LLMs and discuss some strategies for +hosting them safely with Podman, Bifrost, and Caddy. We will also discuss the +current state of LLM hardware and give some realistic examples with AMD, Intel, +Nvidia, and CPU based solutions. We will not be using cloud examples, as this +talk will focus on avoiding cloud solutions in general. We will poke fun at +leveraging Discord as our example if our goal is to self-host. + +Ultimately, I want this talk's participants to leave with some functional code +and good ideas to get them thinking about ways they can integrate LLMs into +their communities while maintaining control and privacy (and avoiding a hefty +bill). This talk will emphasize audience participation to generate ideas for a +prebuilt demo of the custom bot service, but will not build anything live +during the presentation. diff --git a/presentations/self_hosting_presentation.md b/presentations/self_hosting_presentation.md new file mode 100644 index 0000000..3b5658d --- /dev/null +++ b/presentations/self_hosting_presentation.md @@ -0,0 +1,109 @@ +# Idea + +## Abstract + +Ever find yourself Googling "how do I build a home server" only to get +overwhelmed by enterprise-grade documentation? Welcome to our journey from +confused beginner to building a home server that's actually useful. + +Join us as we walk through real-world projects that solved actual problems: +backing up family photos, hosting private Git repositories, running local AI +models, managing home media, and yes—even running multiple Minecraft servers on +a single box. We'll explore hardware choices, operating systems, +containerization vs VMs, and the pain points that motivated each decision. + +This isn't a theory-heavy presentation—it's a story-driven exploration of +building infrastructure for real people with real needs. When you're done, +you'll leave with a roadmap for your own server that balances automation, +redundancy, and the "I just want this to work" factor. + +Some prior sysadmin knowledge required. All projects are from personal +experience, with stories about what went wrong and how we fixed it. + +## 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 house burned down, 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? + +Hardware: you find a box (old laptop, rpi) you're set. + +- Operating system (proxmox, truenas, fedora, arch linux) + - Alex: truenas apps + - Reese: Fedora, osbuild + +1. Install native app (npm, pip, apt, dnf, etc) +2. Containerized (kube, docker, podman) +3. VM (vm, pick one or two) + +- Ingress (nginx, caddy, haproxy) +- Backups (rsync, borg, btrfs send, zfs send) + +1. I want to install a new app while I'm at friend's house + 1. Truenas web portal (app page, both official and community) + 2. VPN and I need access to my computer +2. I want to check my server status on my phone (updates, disks, memory pressure, error logs, services running) + 1. Truenas web interface + 2. Cockpit web interface +3. I want to add more storage + 1. Truenas ZFS storage pools + 2. BTRFS pools +4. I want to install a new alpha app without much support + 1. Truenas custom docker compose images + 2. Fedora clone and run (in a VM for style) +5. I want to backup my photos + 1. Google Photos: don't use git, images aren't meant for git + 2. **Immich, with backups (tell stories about losing my image data)** +6. I want a local copy of my code + 1. Github + 2. Gitea/Gitlab (talk about that transition) +7. I want private document editing + 1. Google drive, Obsidian (forces use of markdown as my standard) + 2. VSCode + pandoc (commit markdown files as your documents) + 3. Nextcloud (Collabora) +8. I want a local, offline LLMs + 1. llama.cpp, stable diffusion cpp, bifrost + 2. Ollama is switching to cloud based models +9. I want to watch media I own + 1. Plex boi - I know that ruffles some jimmies. Give example: add letterbox support into Plex. + 2. Jellyfin if you're cheap +10. I want to know when something goes wrong + 1. Uptime Kuma! + 2. Truenas sending emails if there's an error + 3. Fedora requires a custom solution. +11. I want "reasonable availability" + 1. 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. + 2. 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. +12. I want to host multiple minecraft servers (SRV records) + 1. AWS Route53 for automating SRV records. + 2. Pihole is in the territory of making your family mad +13. I want to automate my house + 1. Home Assistant (raspberry pi or green) +14. I want backups of all my data + 1. No backups is an option + 2. Local weekly backups to usb drives via Truenas data replication + 3. Borg backup via CLI or Pika. + 4. Full disk backups, app directory backups, hybrid model + 5. Backblaze and S3 integration for Truenas + 6. 3 copies of your data, 2 different media,1 off site. +15. I want a private VPN + 1. Tailscale, moved from wifiman, also moved from pivpn + 2. unifi wireguard server, rawdog wireguard on a pi \ No newline at end of file