<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Unifi | Derek Armstrong — Software Engineer · AI · Infrastructure</title><link>https://derekarmstrong.dev/tags/unifi/</link><atom:link href="https://derekarmstrong.dev/tags/unifi/index.xml" rel="self" type="application/rss+xml"/><description>Unifi</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Mon, 01 Apr 2024 00:00:00 +0000</lastBuildDate><image><url>https://derekarmstrong.dev/media/sharing.png</url><title>Unifi</title><link>https://derekarmstrong.dev/tags/unifi/</link></image><item><title>Homelab Infrastructure Platform</title><link>https://derekarmstrong.dev/projects/homelab-infrastructure-platform/</link><pubDate>Mon, 01 Apr 2024 00:00:00 +0000</pubDate><guid>https://derekarmstrong.dev/projects/homelab-infrastructure-platform/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;This is the foundation everything else runs on. Two servers, Unraid OS, 40+ containers, and a Unifi network stack that keeps it all connected and secure.&lt;/p&gt;
&lt;p&gt;The AI inference cluster (dual RTX 3090s) lives on one server. The other runs the bulk of the container workloads: media, document processing, photo storage, home automation, and the self-hosted services that power the blog and analytics.&lt;/p&gt;
&lt;h2 id="server-1--ai--compute"&gt;Server 1 — AI / Compute&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;AMD Ryzen 9 5950X, 128GB RAM&lt;/li&gt;
&lt;li&gt;2x NVIDIA RTX 3090 (24GB VRAM each)&lt;/li&gt;
&lt;li&gt;Runs: vLLM inference, agentic AI workloads, model training&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="server-2--production--nas"&gt;Server 2 — Production / NAS&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;AMD EPYC 4345P, 64GB ECC RAM&lt;/li&gt;
&lt;li&gt;RTX 3060, 8x16TB Unraid array&lt;/li&gt;
&lt;li&gt;Runs: 40+ Docker containers, Docker registry, media, storage&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="network"&gt;Network&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Unifi Dream Machine Pro (or equivalent gateway)&lt;/li&gt;
&lt;li&gt;Unifi access points throughout the house&lt;/li&gt;
&lt;li&gt;VLANs for IoT, guest, and main networks&lt;/li&gt;
&lt;li&gt;Firewall rules enforcing network segmentation&lt;/li&gt;
&lt;li&gt;Cloudflare Zero Trust tunnels for secure external access&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="container-services"&gt;Container Services&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;AI inference (vLLM, Ollama)&lt;/li&gt;
&lt;li&gt;Media management (Plex/Jellyfin)&lt;/li&gt;
&lt;li&gt;Document processing&lt;/li&gt;
&lt;li&gt;Photo storage and management&lt;/li&gt;
&lt;li&gt;Self-hosted analytics (Plausible)&lt;/li&gt;
&lt;li&gt;Docker registry&lt;/li&gt;
&lt;li&gt;Blog hosting (Hugo + Netlify/GitHub Pages)&lt;/li&gt;
&lt;li&gt;Home automation&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="philosophy"&gt;Philosophy&lt;/h2&gt;
&lt;p&gt;Boring infrastructure is reliable infrastructure. Unraid over TrueNAS because it works. Docker over Kubernetes because it&amp;rsquo;s a homelab, not a startup. Cloudflare tunnels over port forwarding because security matters. The goal isn&amp;rsquo;t to run the most impressive stack — it&amp;rsquo;s to run a stack that works, stays up, and gives me full control over my data.&lt;/p&gt;</description></item></channel></rss>