Topic
Self-Hosting
The art of running your own stuff so the cloud doesn't run you. These articles cover the apps worth self-hosting (Immich, Nextcloud, Vaultwarden, Jellyfin, and the long tail), the apps that look great in screenshots but bite later, and the boring-but-critical bits — reverse proxies, backups, auth, and not getting paged at 3 AM. If you want a sustainable home lab instead of a museum of half-configured services, start here.
203 articles in this topic.
Featured posts
-
DIY NAS Build: Compute, Drives, Power Walkthrough
Build a proper DIY NAS in 2026: case selection, CPU choice, drives, HBA card, ZFS pool layout, UPS sizing, and a real power budget that will not fail you.
14 min read -
k3sup vs kubeadm for Homelab Clusters
kubeadm is the official Kubernetes bootstrapper. k3sup is a one-shot SSH installer for k3s. Here's which one to use for your homelab cluster.
11 min read -
Dead Container Took Down Prod
A real postmortem: how a forgotten survey-tool container, an uncapped Docker log driver, and rootless networking combined to kill prod for a Monday morning.
12 min read -
Mikrotik RouterOS for Home Lab
Mikrotik routers cost $50, run a real OS, and humiliate prosumer gear. RouterOS basics, VLANs, firewalling, and why your homelab probably needs one of these.
16 min read -
Dell R720 vs HP DL380 G9: Used Server Knife Fight
Dell R720 or HP DL380 G9 for your home lab? We compare CPU generation, power draw, fan noise levels, iDRAC vs iLO, and which used pizza box wins the fight.
12 min read -
pfSense vs OPNsense in 2026
Two FreeBSD firewall distros, one bitter fork. pfSense vs OPNsense in 2026 — which one to pick for your home lab, and why the licensing drama still matters.
10 min read
All Self-Hosting articles
- DIY NAS Build: Compute, Drives, Power Walkthrough
- k3sup vs kubeadm for Homelab Clusters
- Dead Container Took Down Prod
- Mikrotik RouterOS for Home Lab
- Dell R720 vs HP DL380 G9: Used Server Knife Fight
- pfSense vs OPNsense in 2026
- NVMe Heatsinks That Actually Cool
- Zeek for Home Lab Forensics
- Neo4j vs ArangoDB: Graph DB Showdown
- SAS vs SATA in 2026: When SAS Still Wins
- ModSecurity vs Coraza WAF
- Photon vs ESPHome: ESP Firmware Compared
- Postgres vs SQLite for Home Lab Apps
- SOPS + age: Secrets in Git
- Self-Host a Local AI Coding Workhorse
- Zigbee Coordinator Showdown: Sonoff vs ConBee vs SkyConnect
- WebAuthn & Passkeys for Sysadmins
- Give Your AI Agent a Cheap Intern
- Borg vs Duplicacy: Dedup Backup Wars
- Owntracks + Home Assistant: Private Location Tracking
- KVM/QEMU/libvirt: CLI Workflows
- BirdNET-Pi for Self-Hosted Bird Identification
- Claude Code + SearXNG: Private Web Search
- rclone vs Restic: Sync vs Backup
- Scrypted vs Frigate for Self-Hosted Cameras
- mtr vs traceroute: Packet Loss
- ESPresense: Room-Level Bluetooth Presence in Home Assistant
- Hetzner vs DigitalOcean vs Vultr
- iperf3 + nload: Network Diagnosis
- Plex Meta Manager: Posters, Collections, Sanity
- Syncthing vs Resilio vs Seafile
- SMART Disk Monitoring with smartmontools
- Jellyseerr Tagging Workflows for Real Libraries
- Boundary vs Teleport
- Whisparr & Mylar3: Specialty *arr Apps Explained
- Dify: Visual Agent Workflows
- Access Docker socket via TCP
- Alpine vs. Distroless: Choosing Your Minimalist Base
- Appwrite Backend-as-a-service (BaaS)
- Bcachefs in 2026: Ready or Not
- BookStack vs Wiki.js: Picking Your Self-Hosted Documentation Platform
- Docker Compose Environment Variable Precedence
- Docker Compose useful commands
- Docker Networking: Connecting to the Host from a Container
- Docker Volume Mounts: Essential Flags
- Dockerfile: Differences Between COPY and ADD
- Docker Strategies for Load Balancing and Failover
- Executing Commands with Asterisks in Docker
- Glance vs Homepage vs Dashy: Home Lab Dashboards Compared
- Grafana Dashboard Variables: One Dashboard for All
- Home Lab Hardware Guide 2026: What to Buy, What to Avoid, and What to Beg For
- How to install NextCloud via Docker
- How to Transfer docker Images Without a Repository
- Immich Hardware Acceleration: Stop Cooking Your CPU
- Immich vs PhotoPrism: Escape Google Photos Without Losing Your Mind
- Install Caddy reverse proxy via Docker
- Install docker on Ubuntu/Debian
- Install & use Doxygen via Docker
- Jellyfin vs Plex: Your Media Deserves Better Than a Subscription
- LazyLibrarian + Readarr: Automating Your Book Library
- Linux Home Lab Security: Planning for the Unexpected
- Automating Docker via Ansible
- MinIO Is Archived: Move to Garage
- Local Vision LLMs Worth Running in 2026
- NocoDB DB Management System
- Open WebUI vs LibreChat: Self-Hosted ChatGPT Alternatives Compared
- Paperless-ngx: Scan It, Forget It, Find It Instantly
- Plex Optimization: Remote Access, Transcoding, and Taming the Beast
- Docker Manager Showdown: Pick One
- Restic Repository Maintenance: Prune, Check, Forget
- Self-Hosted Email Is Probably a Bad Idea
- Reverse Proxy SSL: The Cert Chain Mistake Everyone Makes
- Stop Living Dangerously on :latest Docker
- stunnel vs spiped
- Supercharge Your Homelab Monitoring with Zabbix
- The Zero-Trust Home Lab
- Understanding Docker vs. Full Virtual Machines (VMs)
- A Guide to LXC/LXD
- Wireguard VPN Server in Docker
- WordPress on PHP-FPM & Caddy in Docker
- OpenRouter vs LiteLLM
- Immich vs PhotoPrism vs Ente: Self-Hosted Photo Libraries
- Unbound vs Technitium vs BIND
- HACS: When Custom Integrations Bite You
- ntopng vs darkstat
- Gemma 4 vs Qwen3.6
- AnythingLLM as Knowledge Base
- Home Assistant Add-Ons vs Docker Containers
- Home Assistant Voice: Wyoming vs Rhasspy
- Caddy vs Traefik
- Promtail to Alloy Migration: A Practical Diff
- LibreNMS for SNMP-Heavy Home Networks
- SmokePing for Internet Connection Sanity
- Riemann: The Forgotten Event-Stream Monitor for Home Labs
- Glances vs Netdata: Two Free-Tier Monitors Compared
- Sentry Self-Hosted for Application Errors
- Heimdall vs Homepage vs Homer: Status Dashboards
- cAdvisor + Prometheus: Per-Container Metrics Done Right
- RustDesk vs MeshCentral: Self-Hosted Remote Desktop
- Grafana Alloy: Replacing the Agent After Deprecation
- OpenTelemetry Collector: One Pipeline to Rule Them All
- Why I Built Garrul
- Backblaze B2 + rclone: Tiered Backup at Real-World Costs
- Beyond Akismet: Spam Protection for 2026
- Self-Hosted Email in 2026: Mailcow vs Mailu vs Stalwart
- Authentik vs Authelia: SSO for Your Self-Hosted Stack
- Ceph for a 3-Node Home Lab: When It Actually Pays Off
- Kdenlive Proxy Editing on Weak Hardware
- Cosmos vs CasaOS vs Umbrel: All-in-One Home Server OSes Compared
- Snapper for Btrfs Snapshots on Root Filesystems
- Plex Pass Hits $749. Time for Jellyfin.
- Kopia Repository Server: Multi-Host Backups Done Right
- Sec-Fetch & UA Client Hints in 2026: What Actually Leaks
- ZFS Send/Receive Over WireGuard for Off-Site Replication
- Blog Comments: Self-Host or SaaS?
- mergerfs + SnapRAID: The Poor Man's Unraid
- Object Storage on a Pi: SeaweedFS Cluster Walkthrough
- Bind Mounts vs NFS for Container Storage
- Frigate + Coral TPU: AI Cameras Without the Subscription
- GPU Passthrough on Proxmox: Run LLMs in a VM
- Hoist: Label-Driven Docker Updates
- Coolify vs Dokploy: Self-Hosted Vercel for People Who Don't Trust Vercel
- RAID 6 vs RAID 10: Two Dead Disks
- Incident Response for Self-Hosters
- RAID 0, 1, and 5: Pick One
- Escaping Zim: Migrate to Obsidian
- OpenCanary: Honeypots for Your Home Lab
- Pi-hole vs AdGuard Home: Block Ads for Your Whole Network
- Ollama Model Management: Beyond ollama run
- Restic vs Borg vs Kopia: Backups That Actually Deduplicate
- Suricata vs Snort: Network Intrusion Detection That Actually Works
- Continue.dev vs Cody vs Tabby: AI Code Help Without the Cloud
- Cockpit vs Webmin: Web Admin Panels That Don't Make You Cry
- Cloudflare Tunnels: The Zero-Port-Forward Guide to Exposing Your Services
- Prometheus + Grafana: Monitoring That Doesn't Lie to You
- Fail2ban vs CrowdSec: Blocking the Bots Actually Smartly
- Tailscale Deep Dive: Mesh Networking That Actually Works
- Qdrant vs Weaviate vs Chroma: Vector DB Showdown
- Gitea vs Forgejo vs GitLab CE: Self-Hosted Git
- Wazuh: Open Source SIEM for Your Home Lab
- SBCs in 2026: Homelab on a Budget
- LUKS Full Disk Encryption on Linux
- Rootless Docker: Run Without Root
- Proxmox NAT Bridge: One IP, Many VMs
- Linux Privilege Escalation: The Defensive Playbook
- EmDash: WordPress Done Right, Finally
- Three ways to upload ISOs to Proxmox
- Steam on Linux: It Actually Works Now
- De-Googling: Self-Hosted Replacements for Google Apps
- Running Gemma 4 Locally with Ollama
- Private Docker Registry with Harbor
- Caddyfile Patterns That Actually Work
- Obsidian LiveSync: Self-Hosted Sync Without Paying for the Privilege
- Let's Encrypt Without Certbot
- LLM Backends: vLLM vs llama.cpp vs Ollama
- HAProxy: Load Balancing Done Right
- Distroless: How to Build Slim, Secure Containers
- Cloudflare DNS: Beyond Pointing Records
- Traefik: Docker Routing with Labels
- Nginx Proxy Manager for Normal Humans
- Appwrite: Your Own Firebase, Minus the Google Surveillance Subscription
- VLAN Basics for Home Labs: Segment Your Network Before It Segments You
- The Reverse Proxy Timeout That Kills Long Uploads
- Uptime Kuma: Status Pages, Alerts, and Knowing Before Your Users Do
- Watchtower: Safe Container Auto-Updates
- The Header Your Reverse Proxy Keeps Dropping
- You Should Be Testing Your Restores
- IPv6 on Your Home Lab: You Should Care (Here's Why)
- Log Rotation for Self-Hosted Apps
- NocoDB: Because Airtable Doesn't Need to Know Your Business
- BGP in Your Home Lab: Dynamic Routing for People Who've Run Out of Static Routes
- Plausible vs Umami: Privacy-Friendly Analytics That Won't Creep Out Your Users
- Tailscale Deep Dive: Mesh VPN That Just Works (and Why That's Suspicious)
- Why Self-Hosted Apps Lose Data After Updates
- nmap for Your Own Network: What You Should Be Scanning
- Vaultwarden Organization Sharing: Password Management for Your Whole Household (or Team)
- Nextcloud Advanced: Federation, Backups, and Making It Actually Performant
- MinIO + Nextcloud: S3-Compatible Storage That's Actually Yours
- Portainer vs Dockge: Managing Containers Without the Terminal
- Home Assistant + Node-RED: Automate Your Home Without Losing Your Mind
- Proxmox vs XCP-ng: Hypervisors for People Who Like Their Data Center at Home
- Wiki.js with GitSync: Documentation That Lives in Version Control Like It Should
- Vaultwarden vs Bitwarden: Own Your Passwords Before Someone Else Does
- Ventoy: Boot Any OS, Any Time
- Understanding and Optimizing Docker’s daemon.json File
- Navigating the Storm: Analysis of Intel’s 13th and 14th Gen CPU Instability Issues
- Docker Networking Essential Guide for All Skill Levels
- Understanding CMD and ENTRYPOINT in Dockerfiles
- Copying Files Between Docker Containers and Host Machines
- Multiple Actions with a Single docker exec Call
- WordPress, Docker, NGINX, and MySQL via Ansible
- How to securely deploy Cloudflare Tunnels
- Uptime Monitoring with Uptime Kuma
- Understanding and Optimizing Performance in Proxmox VE
- Observability and Monitoring for Containers
- Docker vs Podman: Key Differences
- Ollama: Powerful Language Models on Your Own Machine
- Unleash the Power of LLMs with LocalAI
- Talos OS: API-Driven, Kubernetes-First OS
- Docker Compose: Orchestrating Multi-Container Applications
- Wiki.js for your documentation in docker
- Automatic Backup of Docker MySQL or MariaDB Containers
- Install a php script in PHP-FPM & Caddy via Docker