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.
268 articles in this topic.
Featured posts
-
Dragonfly vs Redis: Single-Binary Performance
DragonflyDB vs Redis 7.4 and Valkey 8.x: architecture deep dive, real performance benchmarks, honest gotchas, and when to swap your cache layer for a dragon.
10 min read -
ntfy vs Gotify vs Apprise: Push Stacks
ntfy is curl-friendly push with iOS. Gotify is self-hosted with web UI. Apprise abstracts 70+ providers. Here's how to wire homelab notifications.
10 min read -
Syncthing Through Untrusted VPS Relays
Sync files between machines that are never online together using Syncthing's untrusted encrypted devices, dual-VPS failover, and a Tailscale-only network path.
13 min read -
SnapRAID: Parity Without Real-Time RAID
Your media library doesn't write often enough to justify mdadm or ZFS overhead. SnapRAID calculates parity on a schedule, mixes drive sizes, and pairs with MergerFS for a unified pool. Here's the setup.
9 min read -
KeyDB: A Redis Fork With Multi-Threading
KeyDB forked Redis and shipped multi-threaded I/O and active-active replication years before Redis itself did. Here is whether it is still worth using today.
10 min read -
Mastodon vs Misskey vs Pleroma 2026
Three ActivityPub servers for your own fediverse instance. Mastodon polished, Misskey feature-rich, Pleroma/Akkoma lightweight. Here's how to pick.
12 min read
All Self-Hosting articles
- Dragonfly vs Redis: Single-Binary Performance
- ntfy vs Gotify vs Apprise: Push Stacks
- Syncthing Through Untrusted VPS Relays
- SnapRAID: Parity Without Real-Time RAID
- KeyDB: A Redis Fork With Multi-Threading
- Mastodon vs Misskey vs Pleroma 2026
- Self-Hosted Email Gateways in 2026
- pg_repack vs VACUUM FULL: Reclaim Bloat Live
- Self-Hosted Email in 2026: Mailcow vs Mailu vs Stalwart
- Vikunja vs Focalboard vs Taiga
- FreshRSS vs Miniflux vs Tiny Tiny RSS
- pg_stat_statements: What Most Tutorials Miss
- Assume Your App Gets Popped
- Mealie vs Tandoor vs Grocy Kitchen Stack
- Postgres EXPLAIN ANALYZE Without Crying
- RAID 50/60: Nested Parity Done Right
- Linkding vs Hoarder vs Wallabag in 2026
- pgAdmin vs Adminer vs CloudBeaver: Web UIs
- Borgmatic: Borg Backup, Done Right
- Owncast vs PeerTube vs nginx-rtmp
- PostgreSQL on ZFS: Tuning, Snapshots, Pitfalls
- Kasm Workspaces: Browser Desktops
- Navidrome vs Airsonic vs gonic
- TimescaleDB Continuous Aggregates Without Pain
- ClickHouse for Self-Hosted Logs
- DuckDB for Local Analytics: Pandas on Steroids
- Kodi vs Jellyfin Native for HTPC
- Homebridge vs Home Assistant Hub Showdown
- PoE Injectors and Switches for the Home Lab
- TIG: Telegraf + InfluxDB + Grafana
- OctoPrint vs Mainsail vs Fluidd 3D Print
- TrueNAS vs OpenMediaVault vs Unraid
- USB-C Power Delivery for Mini PCs
- 10GbE NIC Cheat Sheet: Mellanox, Intel, Chelsio
- Zigbee2MQTT vs ZHA
- DIY Patch Panel and Rack Cabling for Sanity
- Home Assistant on Proxmox
- SFP+ Optics and DACs Without Getting Burned
- Jitsi Meet Self-Hosted
- Hailo-8 vs Coral: AI Accelerators for the Edge
- Matrix: Synapse vs Dendrite vs Conduit
- Mini PCs With 2.5GbE: Picking the Right Box
- Minisforum vs Beelink vs Trigkey Homelab
- SigNoz vs Uptrace Self-Hosted Observability
- Used GPU Buying Guide for Home Lab LLMs
- Longhorn vs Rook-Ceph
- Rock 5B vs Orange Pi 5 vs Pi 5
- Velero: K8s Backup and DR
- BIOS/UEFI Tweaks for Headless Servers
- Claude Code in a Homelab Workflow
- cert-manager: ACME at Scale
- Rootless Docker: Tips, Gotchas & Fixes
- Network Booting Diskless Nodes with iPXE
- 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
- Piper vs Coqui: Text-to-Speech on Your Own Hardware (Because AWS Polly Charges Per Character Like It's 1999 SMS)
- 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
- 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.
- ZFS Replication with syncoid + sanoid: The Lazy Admin's Backup
- 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
- Vaultwarden Organization Sharing: Password Management for Your Whole Household (or Team)
- 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
- Gitea vs Forgejo vs GitLab CE: Self-Hosted Git Without the Existential Crisis
- WireGuard Is Fast, But You're Leaving Performance on the Table
- Vault vs Infisical: Secrets Management for Teams Who've Learned the Hard Way
- 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
- n8n + LLM: Building Automations That Actually Think
- Qdrant vs Weaviate vs Chroma: Vector DB Showdown
- Whisper & Faster-Whisper: Self-Hosted Speech-to-Text That Actually Works
- Gitea vs Forgejo vs GitLab CE: Self-Hosted Git
- LiteLLM & vLLM: One API to Rule All Your Models
- RAG on a Budget: Building a Knowledge Base with Ollama & ChromaDB
- 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
- Self-Hoster's Disaster Recovery: When Everything Goes Wrong at Once
- Stable Diffusion vs ComfyUI vs Fooocus: AI Image Generation at Home
- 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
- n8n vs Node-RED: Automate Everything Without Learning to Code (Much)
- 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