Skip to content

Archives

All the articles I've archived.

2026 568
September 47
  • BRouter: Cycling Routes That Don't Suck

    Strava and Google route cyclists onto highways. BRouter's elevation-aware profiles know what a bike actually wants. Here's the self-hosted setup.

  • Self-Hosted OSRM in Docker

    Run OSRM in Docker with a regional OSM extract, compile a routing profile, and get your own /route endpoint live. Profile compilation gotchas included.

  • OSRM vs Valhalla vs GraphHopper

    Three open-source routing engines, three philosophies. OSRM is fast, Valhalla is flexible, GraphHopper is balanced. Here's how to actually pick one.

  • Self-Hosted HA Reverse Geocoding

    Wire local Nominatim into Home Assistant for reverse geocoding without leaking GPS coords to Google or Mapbox. Privacy-respecting smart home in 30 lines.

  • Photo Libraries Without Google Lookups

    Stop letting Google see where every photo was taken. Immich geocodes locally by default; PhotoPrism sends fuzzed coordinates to its own hosted service.

  • libpostal: Address Parsing Done Right

    Address strings are a mess. libpostal's CRF model parses '123 Main St Apt 4B, NYC' into structured fields without regex hell. Here's how to use it.

  • Photon Deep Dive: Search That Forgives

    Nominatim is great until your users typo. Photon adds OpenSearch-backed fuzzy geocoding on top of OSM data, here's when to deploy both, side by side.

  • Nominatim vs Photon vs Pelias

    Three self-hosted geocoders, very different tradeoffs. Pick Nominatim, Photon, or Pelias for your project without spending a weekend benchmarking.

  • Nominatim Diff Replication

    Imported OSM data goes stale fast. Run pyosmium and Nominatim's diff replication pipeline so your geocoder stays accurate without re-importing planet.

  • osm2pgsql Tuning for Modest Hardware

    Stop watching osm2pgsql crawl. Tune flex output, slim mode, --cache, and Postgres for OSM imports on hardware that isn't a hyperscaler.

  • OSM Imports: Planet vs Regional

    Don't download 88GB of planet.osm if you only need one country. Comparing Geofabrik, BBBike, and osmium-extract for clean, sane OSM imports.

  • Nominatim: Self-Hosted Geocoding

    Stop paying the geocoding tax. Self-host Nominatim on Docker with an OpenStreetMap regional extract and own your address lookups end to end.

  • lazygit + lazydocker + lazysql: TUI Wrappers Worth Using

    Three TUI wrappers that turn your terminal into a power tool. Learn keybinds, workflows, and when TUI beats raw CLI commands.

  • direnv + asdf vs mise

    direnv + asdf vs mise: language versioning and per-project environment management. When to use each, with .envrc, .tool-versions, and mise.toml examples.

  • Just vs Make in 2026

    Task runners showdown: Make vs Just for home projects. Tabs vs syntax, parameters, recipes. Which fits your workflow?

  • Helix vs Neovim: Modal Editor Showdown

    Helix vs Neovim: selection-first simplicity or plugin-powered customization? Modal editors explained.

  • Nix Dev Shells for Project Reproducibility

    Stop fighting Docker just to keep Python versions consistent. Nix flakes give you per-project dev shells that work on any machine. No containers needed.

  • Devcontainers Without VS Code Lock-In

    Use devcontainers with any editor: DevPod CLI, neovim, tmux. Break free from VS Code's dev container monopoly.

  • Aider vs Continue: Two Modes of Terminal AI Coding

    Aider offers interactive CLI-based pair programming with git awareness. Continue provides IDE-integrated AI assistance. Learn when to use each.

  • Docker Ate 215GB in a Week

    An AI coding agent rebuilding the same tag all day fills a disk fast. The mechanism, the truth about volume pruning, and a systemd timer that fixes it.

  • Stoat vs Fluxer: Self-Hosting Costs

    Stoat runs 16 containers and Fluxer runs 25. I read both Compose files line by line, and found the bigger stack is the easier one to actually self-host.

  • Continue.dev + Ollama: Local Code Assistant for Cheap

    IDE-integrated AI coding with local LLMs. Set up Continue.dev + Ollama, pick models, configure chat & autocomplete, save money and keep code private.

  • chezmoi vs GNU Stow vs Bare-Repo Dotfiles

    Compare dotfile managers: chezmoi templating, GNU Stow symlinks, bare git repos. Multi-machine sync, secrets handling, learning curve.

  • Neovim Setup Without the 6-Month Slog

    A Neovim config you can read in one sitting. lazy.nvim, vim.lsp.config on Neovim 0.12, the defaults worth keeping, and the keymaps that quietly break LSP.

  • Email Aliasing: SimpleLogin vs addy.io

    SimpleLogin vs addy.io compared on verified September 2026 pricing, free-tier limits, and what self-hosting each one actually costs you in moving parts.

  • Discord Alternatives That Actually Work

    Discord's age checks sent people looking for exits. Stoat, Fluxer, Matrix and Mumble compared on features, hosting, and whether your community follows.

  • Tor Hidden Services for Self-Hosters

    Run a Tor v3 onion service for your self-hosted apps. Working torrc and Compose config, client authorization, vanity addresses, and the opsec that doxxes you.

  • Anubis: Anti-AI-Crawler Proof-of-Work

    Anubis puts a proof-of-work gate in front of your site. Real policy file config, weights and thresholds, Caddy wiring, and the false positives you hit.

  • GrapheneOS for the Curious

    · Updated:

    GrapheneOS hardens Android on Pixels. The web installer, re-locking the bootloader, sandboxed Google Play, banking app attestation, and what actually breaks.

  • Browser Hardening 2026: Brave vs LibreWolf vs Mullvad

    Brave, LibreWolf, and Mullvad Browser compared on fingerprinting, telemetry, and sync, plus the extension stack and about:config tweaks that matter.

  • Matomo Self-Hosted: When You Need Funnels

    Plausible and Umami both have funnels now. What self-hosted Matomo actually buys you, what its premium plugins cost, and a Compose setup that holds up.

  • Falco + Trivy in k3s: Runtime Security on Small Clusters

    Combine image scanning and runtime detection in k3s with Falco and Trivy Operator. Practical Helm setup, working rules, and alert routing for small clusters.

  • Renovate for k8s GitOps

    Auto-update Kubernetes images and Helm charts with Renovate: the built-in Helm managers, custom regex managers, cron scheduling, and PR grouping rules.

  • External Secrets Operator + Vault on k3s

    Pull secrets out of git with External Secrets Operator and Vault on k3s: real server mode, Kubernetes auth that actually works, rotation and audit trails.

  • k3s on Pi 5 Cluster: Real or Toy?

    A k3s cluster on Raspberry Pi 5 is real Kubernetes with real limits. Which workloads stick, why the M.2 HAT is mandatory, and when to go buy mini-PCs.

  • Kustomize Without Helm: When Overlays Win

    Skip Helm for home lab Kubernetes. Kustomize base + overlays give you dev/staging/prod variants with zero templating pain.

  • Compose-to-Helm Migration That Doesn't Break

    Migrate from Docker Compose to Helm without throwing away your Compose setup. Use kompose, hybrid CI stages, and run both in parallel during the transition.

  • Ingress Choices in k3s: Traefik vs ingress-nginx vs HAProxy

    Traefik, ingress-nginx, or HAProxy on k3s? ingress-nginx retired in March 2026. Install commands, IngressRoute vs Ingress, and the ServiceLB port trap.

  • k3s Backups: etcd Snapshots + Velero

    etcd snapshots and Velero on k3s: the native S3 upload flags, the local-path hostPath trap that silently skips your PV data, and a restore drill that works.

  • MetalLB for Bare-Metal LoadBalancer

    Give your bare-metal Kubernetes cluster load-balanced services with MetalLB. Layer 2, BGP, IPAddressPools, and when to use each.

  • Longhorn vs OpenEBS for k3s Storage

    Battle of the distributed storage drivers: Longhorn's simplicity vs OpenEBS's flexibility for your 3-node k3s cluster.

  • ArgoCD for Home Lab GitOps

    Install ArgoCD on k3s, manage apps declaratively from Git. Secrets, sync waves, app-of-apps pattern explained.

  • Helm Without the YAML Soup

    Master Helm templating sanity. Values files, smart defaults, when to skip Helm entirely, and why nested variables aren't always the answer.

  • k3s Cluster on 3 Mini PCs From Zero

    · Updated:

    Build a three node Kubernetes cluster on mini PCs with k3s: static IPs, firewall ports, local-path storage, and a first deployment that actually answers.

  • DBeaver vs pgAdmin vs DataGrip

    Compare DBeaver, pgAdmin, and DataGrip for PostgreSQL and MySQL management. Free vs commercial picks, feature breakdown.

  • MongoDB Self-Hosted in 2026: SSPL and Alternatives

    The SSPL only bites if you offer MongoDB itself as a service. What that means for self-hosters, and when FerretDB on Postgres is the better answer.

  • PgBouncer for Connection Pooling

    Why PgBouncer matters for home lab Postgres, connection pooling modes explained, config examples, and when prepared statements break.

August 120
  • InfluxDB vs TimescaleDB vs VictoriaMetrics

    Time-series database showdown. Cardinality limits, query language, retention policies, and which engine fits your monitoring stack.

  • SQLite Replication: Litestream and rqlite

    Compare Litestream's continuous backup with rqlite's Raft replication for distributed SQLite. Learn when each fits your self-hosted setup.

  • PostGIS for Self-Hosted Mapping

    Self-host map tiles with PostGIS. Import OSM data, query spatial data, serve tiles via Martin. No Google Maps tax.

  • pgvector for Local Embeddings

    Run embeddings on Postgres with pgvector. Skip Chroma/Qdrant, tune IVFFlat vs HNSW indexes, build RAG pipelines locally.

  • Postgres Replication: Streaming + Logical

    Postgres replication at home: when you need read replicas, streaming vs logical replication explained, slot management, conflict handling.

  • Database Migrations: Liquibase vs Flyway vs Atlas

    · Updated:

    Compare Liquibase, Flyway, and Atlas for schema migrations. Declarative vs imperative, CI integration, and which suits your home lab.

  • MariaDB vs MySQL in 2026

    Fork futures: MariaDB's agile innovation vs MySQL's Oracle stewardship. Storage engines, JSON, replication, and why your choice matters now.

  • What Is an AI Harness?

    What is an AI harness? A plain-language answer, plus 21 of them grouped by job: Claude Code, Codex CLI, Kilo Code, Goose, OpenHands and DeepSeek Harness.

  • SQLite for Self-Hosted Apps

    Why SQLite is the secret weapon for self-hosted apps. WAL mode, concurrency limits, and when to actually leave it behind for Postgres.

  • Redis vs Valkey After the License Drama

    · Updated:

    Redis went source-available, then back to AGPL. When to migrate to Valkey or KeyDB, persistence and clustering options, and what matters for self-hosters.

  • Postgres Backups: pg_dump vs pgBackRest vs WAL-G

    · Updated:

    Compare pg_dump, pgBackRest, and WAL-G for Postgres backups. Point-in-time recovery, S3 setup, and restore drills.

  • Postgres in Docker: The Durable Setup

    · Updated:

    Docker volumes, version pinning, health checks, and tuning. A production-ready Postgres Compose template with init scripts and backup strategy.

  • The KVM-over-IP Question: PiKVM vs JetKVM vs DIY

    · Updated:

    Remote console without IPMI: compare PiKVM, JetKVM, and DIY solutions, hardware costs, BIOS access, latency, and when to pick each.

  • Rack Choice: Open Frame vs 4-Post vs Wall-Mount

    Pick the right rack for your homelab: open frame vs 4-post vs wall-mount. Cable management, noise, and space trade-offs explained.

  • 2.5GbE / 10GbE on a Budget

    · Updated:

    Skip Cisco. Used SFP+ gear from MikroTik and Mellanox turns 10GbE from $5k fantasy into $200 reality.

  • HBA Cards for ZFS

    Pick the right IT-mode HBA for ZFS: LSI 9211-8i vs 9300-16i vs 9400 series. Flash firmware, avoid RAID controllers, navigate expanders and PCIe lanes.

  • IPMI / iDRAC / iLO for Headless Home Lab

    Remote management 101: IPMI, iDRAC, iLO basics, network isolation, security, and redfish. Why BMC matters when you can't reach the power button.

  • Power Math: Watts, Heat, and Your Electric Bill

    Calculate true energy costs: watts, kWh, BTU output, and 5-year TCO for homelab hardware swaps. When efficiency pays back.

  • Cheap Managed Switches That Don't Suck

    · Updated:

    Used enterprise-grade managed switches under $100: Aruba, Brocade, MikroTik picks, VLAN setup, wattage, and gotchas for home lab networks.

  • Quiet Home Lab: Fan Swaps and Undervolting

    · Updated:

    Noctua fans, IPMI curves, and undervolting techniques to make rackmount servers bedroom-quiet without thermal compromise.

  • UPS Sizing Without Overpaying APC

    Master UPS sizing math: VA vs watts, runtime calculations, battery replacement costs, NUT monitoring, and when EcoFlow beats enterprise hardware.

  • Raspberry Pi 5 vs Mini PC for Home Lab

    · Updated:

    Raspberry Pi 5 vs Mini PC: when ARM wins, real costs with NVMe HATs, power consumption, performance, and ecosystem trade-offs for your home lab.

  • Mini PCs for Home Lab: N100 vs N305 vs Ryzen 7000

    · Updated:

    Head-to-head benchmarks: Intel N100/N305 vs Ryzen 7000 mini PCs. Power consumption, NVMe slots, RAM, transcoding, virtualization. Which one to buy.

  • Used Enterprise Servers in 2026

    Dell R630/R730, SuperMicro buyer's guide. Real noise, heat, idle power. What to avoid. eBay sourcing tips.

  • Tasmota: When ESPHome Isn't Enough

    Tasmota vs ESPHome: broader device support, MQTT-native approach, and when legacy Sonoff/Shelly gear demands Tasmota instead

  • Home Assistant + InfluxDB for Long-Term History

    Store years of sensor data with InfluxDB. Skip the 10-day limit, query historical trends, build Grafana dashboards for your home lab.

  • Reolink + Frigate: A Practical NVR Build

    · Updated:

    Build a DIY NVR with Reolink PoE cameras and Frigate. RTSP URLs, sub-stream tricks, storage math, doorbell support, and a complete working config.

  • Frigate Beyond Coral: GPU and OpenVINO

    · Updated:

    When Coral USB isn't enough: GPU and OpenVINO detector performance, config gotchas, hardware picks for home lab NVR

  • MQTT Broker Choices: Mosquitto vs EMQX

    · Updated:

    Mosquitto vs EMQX: lightweight vs enterprise MQTT brokers. Feature comparison, clustering, auth, resource use, and when each is overkill for your home lab.

  • Garrul: 53 Releases Later

    Garrul's 2026-05-25 roadmap promised moderation tools, a faster widget, and admin polish. 89 days and 53 releases later, here is the honest scorecard.

  • Unmanic vs Tdarr: Transcode Pipeline Comparison

    · Updated:

    Head-to-head comparison of Unmanic and Tdarr transcode pipelines, config style, plugins, workers, GPU support, and when to pick each.

  • Tdarr: Auto-Transcoding Your Media Library

    · Updated:

    Batch transcode h264 to h265 or AV1 with Tdarr. GPU/CPU strategies, plugin flows, Docker Compose setup, and storage savings math for your media server.

  • Home Assistant Energy Dashboard with Shelly

    · Updated:

    Power monitoring with Shelly EM/Pro/3EM, Home Assistant energy dashboard, circuit-level metering, solar+grid tracking, and wiring sanity checks.

  • Z-Wave vs Zigbee in 2026

    · Updated:

    Z-Wave vs Zigbee: range, mesh, cost, and which radio protocol to choose for home automation in 2026.

  • Matter and Thread for the Suspicious

    · Updated:

    Matter and Thread protocol overview: what actually works in home labs, what's vaporware, and why you should be skeptical of the hype in 2026.

  • HyperDX vs OpenObserve

    HyperDX (ClickHouse, session replay) vs OpenObserve (Rust, cheap object storage), two modern self-hosted observability platforms compared for homelabbers.

  • Garrul: The Audit Found My Rate Limiter

    A security audit of Garrul, my Cloudflare Workers comment system, found 2 critical bugs. Both had the same root cause as one I had already fixed in June.

  • Home Assistant Backups That Actually Restore

    Home Assistant disaster recovery: off-site backups, secrets handling, Z2M coordinator, restore drills that catch missing pieces.

  • Calibre-Web vs Calibre Server vs Kavita

    · Updated:

    Self-hosted ebook library showdown: Calibre-Web vs Kavita. Which stack handles your comics, manga, and ebooks?

  • Multiple Claude Code Accounts, One Config

    · Updated:

    Run several Claude Code accounts on one Linux machine. CLAUDE_CONFIG_DIR plus symlinks share your skills, hooks and history while each login stays isolated.

  • Navidrome vs Funkwhale: Self-Hosted Music

    · Updated:

    Navidrome vs Funkwhale for self-hosted music streaming. Subsonic API support, mobile clients, federation, and which one fits a homelab in 2026.

  • Tautulli Beyond Plex Stats

    · Updated:

    Tautulli's notification webhooks, automation, transcode alerts, and custom triggers unlock Plex monitoring beyond leaderboards and statistics charts.

  • Overseerr vs Jellyseerr

    · Updated:

    Overseerr vs Jellyseerr media request UIs: Plex-only vs Jellyfin/Emby. Setup, auth, Sonarr/Radarr integration.

  • The *arr Stack Without 9000 Reddit Threads

    · Updated:

    Self-hosted *arr stack (Sonarr, Radarr, Prowlarr, Bazarr) with durable Docker Compose. Hardlinks, folder layout, no breakage.

  • Synthetic Browser Monitoring with Playwright + Grafana

    Set up Playwright synthetic monitoring: scheduled headless browser checks, login flow validation, and pass/fail metrics piped into Grafana dashboards.

  • VictoriaMetrics vs Prometheus

    · Updated:

    VictoriaMetrics as a Prometheus drop-in replacement: lower RAM footprint, longer retention, better compression. When the switch actually pays off.

  • Node Exporter Internals That Actually Matter

    · Updated:

    Which 30 Node Exporter metrics matter for Prometheus monitoring. Skip the 200 noisy ones. Textfile collector trick included.

  • Grafana OnCall + Webhooks: Paging Without PagerDuty

    · Updated:

    Self-host Grafana OnCall as a free PagerDuty alternative: escalation policies, Alertmanager webhooks, and phone alerts for your home lab (plus the 2026 catch).

  • Healthchecks.io Self-Hosted: Cron Monitoring

    · Updated:

    Self-hosted Healthchecks.io for cron monitoring with dead-man-switch alerting, Docker setup, and backup integration. Never miss a silent failure again.

  • Vector vs Fluent Bit: Modern Log Shippers

    · Updated:

    Vector vs Fluent Bit log shippers: Rust-based transforms and sinks vs lightweight C agent. Config, VRL, footprint, and when each wins.

  • Push vs Pull Metrics: Pushgateway, Pushprox, and Why

    Prometheus pull metrics are great until they aren't. When batch jobs, NAT, and ephemeral containers break scraping, Pushgateway, PushProx, and alternatives explained.

  • Blackbox Exporter: HTTP/TCP/DNS/ICMP Probes

    · Updated:

    Blackbox exporter Prometheus probes HTTP TCP DNS ICMP synthetic monitoring without paying for Pingdom or SaaS uptime tools

  • Self-Host SigNoz: Install Guide

    · Updated:

    SigNoz killed install.sh and its bundled Compose files. Here's how to self-host it with Foundry, wire an app via OTLP, and set retention and alerts.

  • SLO/SLI for Home Lab Services

    · Updated:

    SRE error budgets for home lab. Build Grafana SLO dashboards, understand SLI/SLO, pick sane availability targets.

  • Alertmanager Routing Trees That Don't Lie

    Master Alertmanager routing trees: severity labeling, inhibition, grouping, and multi-receiver logic for reliable home lab alerts that work at 3 AM

  • Tempo + Grafana: Tracing for Self-Hosters

    · Updated:

    Distributed tracing with Tempo and Grafana for self-hosted multi-service stacks. OpenTelemetry, sampling, exemplars, and when tracing actually matters at home scale.

  • Bots Ate 90% of My Worker Quota

    A WordPress login bot burned 90% of my Cloudflare Workers free tier in two hours attacking a site that has never run PHP. Here's what actually stopped it.

  • Mimir + Grafana: Long-Term Prometheus Storage

    · Updated:

    Mimir for long-term Prometheus storage. S3-backed, horizontally scaled alternative to Thanos for capacity planning and compliance.

  • Loki vs Vector for Log Shipping

    Promtail vs Vector: which log shipping agent fits your setup? Loki's purpose-built simplicity or Vector's transform power and multiple sinks.

  • Prometheus Federation for Multi-Site Home Labs

    Prometheus federation for multi-site home labs: hierarchical scraping, cross-cluster aggregation, federation vs remote_write, practical config.

  • rclone Crypt: Encrypted Cloud Buckets That Stay Yours

    Client-side encryption with rclone crypt keeps your cloud backups opaque to providers. Key management, filename encryption, and restore drills for B2, S3, Drive.

  • TrueNAS Apps vs Docker on TrueNAS Scale

    · Updated:

    TrueNAS Scale ditched Kubernetes for native Docker. Apps catalog vs raw Compose, when each wins, dataset snapshots, and why custom apps took so long.

  • NFS vs SMB vs SSHFS vs WebDAV for Home Lab

    · Updated:

    Four file-sharing protocols compared for home labs: NFS speed, SMB compatibility, SSHFS convenience, WebDAV over HTTP, and which one to pick per use case.

  • Filesystem Decision Matrix: ext4 vs XFS vs ZFS vs Btrfs

    · Updated:

    Linux filesystem comparison: ext4 for safety, XFS for scale, ZFS for snapshots, Btrfs for flexibility. Pick the right tool for your workload.

  • Cold Archive: B2 vs Storj vs Scaleway Glacier

    Compare cold storage tiers: Backblaze B2, Storj decentralized cloud, and Scaleway Glacier. Pricing, egress, restore times, and which backup service wins.

  • Off-Site Encrypted Backup with rsync.net

    Why rsync.net is the no-BS off-site backup target for Restic and Borg: SSH-only ZFS, real Unix support, and what 1.5 cents per GB per month actually costs.

  • ZFS Tuning for SSDs and NVMe

    · Updated:

    ZFS tuning for flash: ARC sizing, recordsize, autotrim, sync modes, and SLOG advice, plus why defaults written for spinning disks waste an NVMe pool.

  • SigNoz vs Jaeger for Tracing

    · Updated:

    Jaeger does distributed tracing only; SigNoz bundles traces, metrics, and logs. Which should you self-host? Here's the honest breakdown.

  • Backup Workflow Patterns That Work

    Backup patterns that survive disasters: snapshot, replication, off-site. Retention, safety, and the 3-2-1 model done right.

  • The Free Tier Rug Pull

    Free AI tiers are loans against a future price, paid in your data, your architecture, or your time. Here's the collateral to check before you build on one.

  • Real-ESRGAN & Upscaling Tools

    · Updated:

    Image upscaling with Real-ESRGAN, super-resolution AI models, ComfyUI workflows, and practical upscaler comparison for self-hosted setups.

  • ControlNet & LoRA: Advanced Image Control

    Master ControlNet and LoRA for precise image generation control in Stable Diffusion. Learn Canny edges, depth, pose, scribbles, tiling, and style stacking in ComfyUI.

  • API vs Self-Hosted LLMs: The Real Cost

    · Updated:

    API vs self-hosted LLM cost reality, GPU TCO, privacy, latency, break-even math. When paying OpenAI/Anthropic wins. When local wins.

  • Free AI Image Gen vs Your Own GPU

    Free AI image generators win on convenience but lose fast on volume, style consistency, and control. Here's the real break-even against running your own GPU.

  • RAG Beyond Vector Search: BM25, Hybrid, Re-ranking

    RAG beyond dense embeddings: BM25 lexical search, hybrid retrieval (RRF, weighted fusion), cross-encoder re-rankers (BGE, Cohere, Jina). When pure vector search fails.

  • Kaniko & Buildah: Daemonless Container Builds

    · Updated:

    Daemonless OCI image builds in CI without Docker-in-Docker risks. Kaniko vs Buildah compared, when each fits, and which one suits your pipeline.

  • Podman Compose for Docker-Free Workflows

    · Updated:

    Drop Docker's daemon entirely. Podman rootless containers with podman-compose, drop-in compatibility, daemonless orchestration, and where it bites you.

  • LXC vs Docker: Lightweight Containers

    · Updated:

    LXC and Docker both containerize workloads, but one runs mini-VMs with init processes while the other handles single-process apps. Here's when each wins.

  • How to Stretch a Free LLM Tier

    Free LLM tiers usually die from bloated prompts, not stingy quotas. Context discipline, caching, tiering, batching, and backoff that triple your runway.

  • 3-2-1-1-0: The Backup Strategy That Survives Ransomware

    · Updated:

    3-2-1 backups aren't enough anymore. The 3-2-1-1-0 rule adds immutable & offline copies plus verified restores, here's how to implement it.

  • regclient: Container Image Lifecycle Without a Daemon

    regctl, regbot, and regsync give you tag retention policies, registry replication, and manifest surgery, no Docker daemon required.

  • SSH Bastion & Jump Host Patterns That Don't Hurt

    · Updated:

    Stop opening port 22 to the world. SSH bastion hosts, ProxyJump chains, session recording, and self-hosted Teleport alternatives that actually work.

  • Linux Real-Time Kernel: When PREEMPT_RT Actually Earns Its Keep

    · Updated:

    PREEMPT_RT hit Linux mainline in 2024. Here's what real-time actually means, when you need it, and when it'll just slow you down.

  • The Free AI Stack: What $0 Gets You

    · Updated:

    A capability map of what's free from AI providers in 2026: chat, APIs, image generation, speech tools, and coding help, with the real quotas.

  • dbt-core for Self-Hosters: SQL With Tests, Without dbt Cloud

    Run dbt-core free with Postgres, DuckDB, or ClickHouse. SQL transformations, tests, docs, and star schemas without the dbt Cloud price tag.

  • Ditch Your ISP Router for MikroTik

    Your ISP's box doesn't have to run your network. How to find bridge mode, dodge double NAT, and hand real routing duty over to a MikroTik router instead.

  • SigNoz vs Grafana LGTM Stack

    · Updated:

    SigNoz gives you logs, metrics, and traces in one ClickHouse-backed app. The Grafana LGTM stack gives you four. Here's how to pick the right one.

  • Incus: LXD's Community Fork, Two Years In

    · Updated:

    Two years after Canonical's LXD CLA grab, Incus is shipping in Debian/Fedora/NixOS. Here's what changed, what works, and when to use it.

  • Audiobookshelf vs Booksonic: Self-Hosted Audiobooks

    · Updated:

    Audiobookshelf vs Booksonic: which self-hosted audiobook server wins? ABS takes it for most homelabbers. Here's why, and when Booksonic still makes sense.

  • Agentic Browsers: Browser-Use & Skyvern Reviewed

    · Updated:

    Browser-Use and Skyvern let LLMs drive real browsers via natural language goals. Here's what they can actually do, where they break, and when Playwright is still the right call.

  • Steam Deck as a Homelab Toolkit (Yes, Really)

    · Updated:

    SteamOS 3.x is Arch Linux under the hood. Here's how to turn your Steam Deck into a portable sysadmin console for SSH, Tailscale, IPMI, and more.

  • Devbox vs Devenv: Nix Without the Pain

    · Updated:

    Devbox and devenv both tame Nix for reproducible dev environments without needing a PhD first. Here is which one will not send you reading a 40-page manual.

  • systemd-homed: Portable Encrypted Home Directories

    · Updated:

    systemd-homed turns your home dir into a portable LUKS-encrypted blob. Move it between machines, unlock with FIDO2, and own your own data.

  • Topgrade: One Command Updates Everything

    · Updated:

    Topgrade runs every package manager and update tool on your machine in one single command. Stop juggling apt, brew, flatpak, pip, cargo, and gem separately.

  • Local Voice Assistant: Whisper + Piper + Home Assistant

    · Updated:

    Ditch Alexa and Google Home. Build a fully local voice assistant with Whisper STT, Piper TTS, and Home Assistant using the Wyoming protocol.

  • Carapace: Universal Shell Completions

    · Updated:

    Carapace-bin delivers tab completions for 1000+ CLI tools across every major shell, one install, one config line, zero per-tool completion script headaches.

  • procs vs ps: Modern Process Listing

    · Updated:

    procs adds color, Docker container awareness, and process tree views to replace ps. Here is exactly when switching is worth it in your daily Linux workflow.

  • SOCKS5 Over SSH: Selective Routing Without a VPN

    · Updated:

    Route only the traffic you want through a SOCKS5 proxy via ssh -D. Browser extensions, curl, git, ProxyChains, autossh, and DNS leak gotchas, no VPN needed.

  • btop vs htop vs bottom: Top Replacements

    · Updated:

    btop, htop, and bottom compared on features, memory footprint, and personality, find out which terminal process monitor earns a spot in your daily toolkit.

  • Your Agent Doesn't Need a Shell

    Coding agents get unrestricted shell access by default because it's easy, not because they need it. Here's the short list of what actually breaks without one.

  • Sandstorm: Self-Hosted Apps in a Sandbox, Not Just a Container

    Sandstorm gives every app instance its own capability-gated sandbox. Different threat model than a Compose stack, here's what that actually means.

  • Difftastic: Structural Diff That Makes Sense

    · Updated:

    Difftastic parses source code structure instead of raw text lines, giving diffs that reflect what actually changed logically, not just how it was reformatted.

  • Llamafile: Single-Binary LLMs That Actually Just Run

    · Updated:

    Llamafile bundles llama.cpp + Cosmopolitan libc into one portable binary that runs on Linux, macOS, Windows, and BSD with zero install.

  • DeepSeek V4 Flash: 28 Cents a Million

    DeepSeek V4 Flash 0731 hits 50 on the independent intelligence index at $0.14/$0.28 per million tokens. Same weights as the preview, redone post-training.

  • gitui vs lazygit: Two Git TUIs Compared

    · Updated:

    gitui vs lazygit: a practical comparison of the two best terminal Git UIs available. Which one earns a permanent spot in your daily developer workflow in 2026?

  • Durable Objects: Stateful Serverless

    Cloudflare Durable Objects solve the one thing serverless can't: coordination. Storage API, WebSocket hibernation, gotchas, and a working rate limiter build.

  • Sunshine + Moonlight: Roll Your Own Cloud Gaming

    · Updated:

    Stream your own gaming PC with Sunshine + Moonlight. Low-latency NVIDIA NVENC, AMD VAAPI, Intel QSV, Tailscale remote play, and no monthly bill.

  • LazyVim vs LunarVim vs AstroNvim: Distros

    · Updated:

    LazyVim, LunarVim, and AstroNvim compared: which Neovim distro actually saves your setup time and which one quietly turns into a full weekend side project?

  • ArgoCD ApplicationSets: One Manifest, Many Clusters

    · Updated:

    ArgoCD ApplicationSets let one template generate dozens of GitOps Applications across clusters. Covers List, Cluster, Git, Matrix, and PR generators with real patterns.

  • Mise Deep Dive: Tasks, Tools, Env Vars

    · Updated:

    Mise manages your dev tools, env vars, and task runner all from one config file. Here is how to put all three of its features to practical use together.

  • Where Should Your Coding Agent Run?

    Claude Code and other AI coding agents need somewhere to run. Compare laptop, Docker, throwaway VMs, and Cloudflare Workers on blast radius, cost, and setup.

  • Linux PSI: The Pressure Metrics Load Average Wishes It Were

    · Updated:

    Linux PSI (Pressure Stall Information) exposes real CPU, memory, and IO stall percentages, here's why it beats load average for monitoring.

  • Go on Scratch: Docker With No OS at All

    · Updated:

    A Go binary on FROM scratch gives you a 10 MB image with no shell, no libc, no /tmp. Everything that breaks on an empty filesystem, and how to fix each one.

  • Yazi: The Terminal File Manager Replacing Ranger

    · Updated:

    Yazi is the Rust-powered terminal file manager that fixed everything Ranger got wrong, real async previews, a Lua plugin system, and blazing-fast navigation.

  • DIY Perplexity: SearXNG + Local LLM = Private Web Search

    · Updated:

    Replace Perplexity with SearXNG + a local LLM for private, cited web search. Full Perplexica/Morphic deploy walkthrough, Ollama, latency tradeoffs.

  • fish vs zsh vs nushell in 2026

    · Updated:

    fish, zsh, and nushell each solve the interactive shell problem differently. Here is which one actually belongs on your machine for daily use in 2026.

  • Multi-Arch Docker Builds With QEMU & buildx

    · Updated:

    Build Docker images that run on amd64 and arm64 from one command. QEMU emulation, native multi-node builders, CI caching, and manifest lists explained.

  • NUT: Network UPS Tools for Home Labs That Don't Want to Crash

    NUT (Network UPS Tools) monitors APC, CyberPower, and Eaton UPSes and triggers graceful shutdowns before your home lab eats a corrupt ZFS pool.

  • Wezterm vs Alacritty vs Kitty: Modern Terminals

    · Updated:

    GPU-accelerated terminal showdown in 2026: WezTerm, Alacritty, and Kitty compared on raw speed, config ergonomics, multiplexing support, and image rendering.

  • Mozilla Sync Server Self-Hosted: Still Viable?

    · Updated:

    Firefox Sync still works self-hosted in 2026, but the setup is more involved than it looks. Here's the real story, plus whether it's actually worth it.

July 112
  • Memos: Self-Hosted Microblog Meets Daily Note

    · Updated:

    Memos is a lightweight self-hosted microblog and scratchpad. One Compose container, SQLite, Markdown hashtags, and zero Twitter brain rot.

  • Mullvad VPN Containers via Gluetun: Per-App VPN

    · Updated:

    Route specific Docker containers through Mullvad VPN via Gluetun, keeping Plex and everything else on your home WAN. No iptables nightmares, no tunneling drama.

  • OPA & Rego: Policy as Code Beyond Kubernetes

    OPA and Rego aren't just Kubernetes gatekeepers. Block :latest tags in CI, enforce Terraform resource tags, and filter HTTP APIs.

  • Convoy: Self-Hosted Webhook Delivery That Doesn't Drop Events

    · Updated:

    Convoy is a self-hosted webhook gateway with retries, dead-letter queues, HMAC signing, and fan-out. Deploy it with Docker Compose in minutes.

  • Local Coding Agents Need Less Context

    · Updated:

    Local coding agents don't fail because your 27B model is too small. They fail because you let 200K tokens of garbage pile up in the context window. Cap it low.

  • Vaultwarden Behind Authelia: 2FA That Holds

    Put Authelia forward auth in front of Vaultwarden without breaking the Bitwarden apps. The correct bypass list, and an honest account of what it protects.

  • LM Studio vs Jan vs GPT4All: Desktop LLM Clients

    · Updated:

    LM Studio, Jan, and GPT4All compared, the best desktop LLM clients for local AI chat on Mac, Windows, and Linux in 2026.

  • Joplin Server vs Trilium vs Standard Notes

    · Updated:

    Three self-hosted note apps, one winner for your setup. Compare Joplin Server, Trilium, and Standard Notes on sync speed, E2EE, and real working Docker deploys.

  • Invidious, Piped, Redlib, Nitter: 2026 Status

    · Updated:

    Invidious, Piped, Redlib, and Nitter status in 2026: which privacy frontends still work, which died from API changes, and how to self-host the survivors.

  • cgroups v2 in Practice: Limits, Pressure, Containers

    · Updated:

    cgroups v2 unified hierarchy explained: read /sys/fs/cgroup/, limit CPU/IO/memory, use systemd slices and PSI pressure files.

  • BTCPay Server: Self-Hosted Crypto Payments

    · Updated:

    Run your own Bitcoin and Lightning payment processor with BTCPay Server, zero middlemen, zero percentage fees, and no Stripe account getting frozen at 2 AM.

  • Tang & Clevis: LUKS Auto-Unlock Without a Typed Passphrase

    · Updated:

    Stop typing LUKS passphrases on every headless reboot. Tang + Clevis = NBDE: disks unlock automatically on your trusted network, stay sealed everywhere else.

  • LibreSpeed: Hosting Your Own Speed Test

    · Updated:

    Stop trusting speedtest.net numbers. Host LibreSpeed to measure real LAN, VPN, and ISP throughput with zero ads, no telemetry leaks, and a quick Docker deploy.

  • crun vs runc vs youki: OCI Runtimes Compared

    · Updated:

    runc, crun, and youki all run your containers, but they differ wildly in startup speed, language, and cgroups v2 support. Here's which to pick.

  • LibreTranslate: Local Translation Without Google

    · Updated:

    Run your own translation API with LibreTranslate and Argos Translate. No Google involved, no data leaks, and no surprise per-character billing on your bill.

  • RAGAS: Evaluating RAG Without Vibes

    · Updated:

    Stop guessing if your RAG pipeline works. RAGAS gives you reproducible metrics: faithfulness, answer relevance, context precision and recall.

  • Collateral Freedom: Costly to Block

    · Updated:

    Protocol mimicry only wins the hiding fight. Learn why relay cascades, domestic hosting, and disposable infrastructure make blocking your traffic expensive.

  • SearXNG vs Whoogle: Private Search Frontends

    · Updated:

    SearXNG aggregates 100+ search engines. Whoogle proxied Google cleanly but is now archived with no working fetch method left. Setup steps for both, inside.

  • Meshtastic vs Reticulum

    · Updated:

    Meshtastic is a messaging appliance. Reticulum is a whole network stack that happens to run over LoRa. Why comparing the two directly misleads people.

  • Stirling-PDF: Stop Uploading Your Tax Returns to Sketchy Sites

    · Updated:

    Stirling-PDF is the self-hosted PDF toolkit your privacy-conscious brain needs, merge, split, OCR, compress, and redact without touching ilovepdf.

  • AdGuard DNS Sync Across Two Instances

    · Updated:

    Run two AdGuard Home instances in sync so one dead node does not kill DNS for your whole house. Here is config sync with VRRP failover, done step by step.

  • wg-easy: WireGuard for Humans Who Hate Config Files

    wg-easy gives WireGuard a web UI: create clients, scan QR codes, see traffic stats, no SSH required. Self-hosted VPN made actually easy.

  • REALITY: Borrowing a TLS Handshake

    REALITY does not disguise your traffic as a real TLS handshake, it serves an actual one. How that works, a working config, and the honest limits of the trick.

  • Forgejo Actions: Self-Hosted GitHub-Style CI

    · Updated:

    Run GitHub Actions-style CI on your own Forgejo server with Forgejo Runner. Same YAML, your hardware, zero GitHub dependency.

  • LoRa Mesh Hardware Buying Guide

    Which LoRa boards to buy for Meshtastic or MeshCore, why the antenna and mounting height matter more than the radio, and what to skip on your first order.

  • Self-Hosted Email Aliasing on Your Own Domain

    · Updated:

    Skip the full mail server nightmare entirely. Self-host SimpleLogin or addy.io for private email aliasing on your own domain, privacy wins, sanity preserved.

  • CryptPad vs EtherCalc: Privacy Collaboration

    · Updated:

    CryptPad brings end-to-end encrypted docs, sheets, and kanban. EtherCalc is a featherweight spreadsheet. Pick the right tool for your threat model and budget.

  • nftables in 2026: Stop Pretending iptables Will Live Forever

    · Updated:

    iptables is in soft retirement. Here's why the nft shim isn't a long-term plan and what direct nftables syntax actually buys you.

  • Why Your VPN Is Already Detected

    Encryption hides content, not shape. Here's why state-level censors don't read your VPN traffic, they recognize it, and what actually still works in 2026.

  • KV Cache Quantization: Free LLM Context, Almost

    · Updated:

    KV cache eats your VRAM at long context, not the weights. Q8/Q4 KV quantization in llama.cpp and vLLM cuts it 2-4x with almost no quality hit.

  • LoRa Mesh vs LoRaWAN vs Helium

    LoRa, LoRaWAN, and Helium are not the same thing. What each one actually is, what it is good for, and why the Helium IoT network deflated the way it did.

  • NextDNS vs Self-Hosted: When SaaS Wins

    NextDNS vs Pi-hole vs AdGuard Home: an honest breakdown of when paying two dollars a month beats running and maintaining your own DNS server from home.

  • Self-Hosted CAPTCHA Alternatives in 2026

    · Updated:

    Ditch reCAPTCHA data harvesting for good. Here are the best self-hosted and privacy-respecting CAPTCHA alternatives for your home lab web apps in 2026.

  • Skopeo: Container Image Surgery Without a Daemon

    · Updated:

    Skopeo lets you copy, inspect, and sync container images between any registry without Docker. No daemon, no bloat, just clean image ops.

  • Meshtastic vs MeshCore in 2026

    · Updated:

    Meshtastic vs MeshCore: routing models, hop limits, who gets to repeat traffic, and which LoRa mesh firmware you should flash on your first radio in 2026.

  • DNS-over-HTTPS at Home: cloudflared vs dnscrypt-proxy

    · Updated:

    cloudflared vs dnscrypt-proxy for encrypted DNS at home, setup steps, threat model, Pi-hole integration, and which one actually fits your home lab setup.

  • Komga vs Kavita: Self-Hosted Comic & Manga Servers

    · Updated:

    Komga vs Kavita: the definitive self-hosted comic and manga server comparison. Library structure, OPDS, reading apps, metadata, and Docker Compose for both.

  • Headlamp: K8s UI Without the License Drama

    · Updated:

    Headlamp is the CNCF-backed Kubernetes UI that won't hold your clusters hostage. Deploy it, add OIDC auth, and extend it with plugins for your home lab setup.

  • YubiKey + age: Hardware-Backed Encryption Without GPG

    · Updated:

    Use age + age-plugin-yubikey to encrypt files with a key that literally cannot leave your hardware token. No GPG drama required.

  • K9s vs Lens vs Headlamp: Cluster UIs

    K9s, Lens, and Headlamp compared for Kubernetes cluster management, find the UI that fits your workflow: terminal TUI, desktop GUI, or self-hosted web app.

  • Pangolin: Self-Hosted Cloudflare Tunnel Alternative

    · Updated:

    Pangolin gives you Cloudflare Tunnel-style access to home services via a $5 VPS and a WireGuard mesh. Works even behind CGNAT, with zero vendor lock-in.

  • Krew: Kubectl Plugins You'll Actually Use

    Krew is the kubectl plugin manager. These are the plugins that save time in a home lab Kubernetes setup, plus exactly how to install them all fast.

  • Aider & Cline: Terminal AI Coding That Actually Ships

    · Updated:

    Aider vs Cline: two agentic AI coding tools that go beyond autocomplete. Which terminal AI coding agent ships cleaner work?

  • systemd-resolved: The DNS Resolver You're Already Using Wrong

    systemd-resolved does way more than mangle /etc/resolv.conf. Here's how its stub resolver, split DNS, DoT, DNSSEC, and resolvectl actually work.

  • KEDA: Event-Driven Autoscaling Self-Hosted

    KEDA lets Kubernetes scale workloads on queue depth, cron schedules, and broker lag, including scale-to-zero for serious home lab resource savings overnight.

  • Beszel: Server Monitoring Without the Prometheus Tax

    Beszel gives you Prometheus-style multi-host monitoring via a single hub container and tiny Go agents, no Grafana, no exporters, no yak shaving.

  • Crossplane vs Terraform for Home Lab

    · Updated:

    Crossplane vs Terraform and OpenTofu for home lab infra: GitOps-native Kubernetes CRDs versus battle-tested HCL, which one actually fits your k3s cluster?

  • OpenTofu in 2026: Where the Terraform Fork Stands

    · Updated:

    Two years after HashiCorp's BUSL switch and IBM's acquisition, OpenTofu is the mature open-source Terraform fork. Here's the honest state of play.

  • Goldilocks + VPA: Right-Size Pods Without Guessing

    · Updated:

    Stop guessing Kubernetes pod resource limits. Goldilocks + VPA analyze real usage and recommend exactly what CPU and memory your containers need to run.

  • Capsule: Multi-Tenancy for Home Lab k3s

    · Updated:

    Stop handing out cluster-admin access to everyone. Capsule gives k3s lab tenants real namespace isolation without the overhead of spinning up vCluster.

  • Sigstore + Gitsign: Signed Commits Without GPG Pain

    Keyless signed git commits with Sigstore and Gitsign, no GPG key rot, no passphrase prompts. OIDC-backed ephemeral certs that just work.

  • Sealed Secrets vs External Secrets Operator

    · Updated:

    Sealed Secrets vs External Secrets Operator: which Kubernetes secret manager fits your GitOps workflow best, home lab cluster or production multi-tenant setup?

  • Mixture of Experts (MoE) for Self-Hosters, Demystified

    · Updated:

    MoE LLMs like Mixtral and DeepSeek-V3 run 70B-class quality on 7B-ish active params. Here's how sparse activation works and how to run it at home.

  • Dragonfly: P2P Container Image Distribution at Scale

    · Updated:

    Dragonfly turns your container registry into a P2P swarm. Stop hammering one registry with 200 nodes pulling 4GB GPU images at once.

  • Reloader: Auto-Reload Pods on ConfigMap Change

    Stakater Reloader watches ConfigMaps and Secrets and triggers rolling restarts automatically, so your pods always run current config, no kubectl rollout.

  • Python Libraries Worth Your Time in 2026

    · Updated:

    The Python libraries actually worth your time in 2026: data tools, ML frameworks, and CLI kit, plus which ones earn a permanent spot in your home lab.

  • Atuin: Shell History That Actually Works Across Machines

    · Updated:

    Atuin replaces your broken $HISTFILE with a SQLite DB, fzf-style search, and optional E2E-encrypted sync across every machine you own.

  • Cilium on k3s: When eBPF Networking Pays

    · Updated:

    Replace flannel with Cilium 1.19 on k3s for eBPF routing, Hubble observability, WireGuard encryption, and L7 network policies, here's when it pays off.

  • k3s + Tailscale: Cluster Across Two Sites

    · Updated:

    Run a single k3s cluster spanning two physical sites using Tailscale as the WireGuard fabric, home lab server plus cloud VPS, one single kubectl context.

  • Renovate vs Dependabot: Self-Hosted Dependency Bots

    · Updated:

    Renovate vs Dependabot for self-hosted teams: config depth, ecosystem coverage, self-host paths, and which bot wins for Forgejo/GitLab shops.

  • KubeVirt on k3s: VMs Next to Pods

    · Updated:

    Run real KVM virtual machines as Kubernetes resources on k3s. One control plane for pods and VMs, no more juggling Proxmox alongside your cluster every day.

  • Mesh VPN Showdown: Tailscale, Nebula, ZeroTier, NetBird

    · Updated:

    Tailscale vs Nebula vs ZeroTier vs NetBird, honest comparison of mesh VPN options for homelabs, small teams, and self-hosters in 2026.

  • ClickHouse vs DuckDB vs StarRocks: Light OLAP

    · Updated:

    ClickHouse, DuckDB, or StarRocks for home lab analytics? A practical guide to picking the right OLAP engine for your query patterns without losing the weekend.

  • Speculative Decoding: Faster LLMs With a Tiny Sidekick

    · Updated:

    Speculative decoding, Gemma 4 MTP, and DeepSeek DSpark all make LLMs 2-6x faster losslessly. How each works, and which to use for local vs. serving.

  • Gitea Actions vs Woodpecker CI

    · Updated:

    Gitea Actions vs Woodpecker CI: two solid self-hosted CI options, one clear winner for your setup. Compare syntax, runners, footprint, and secrets handling.

  • Adding NOT NULL on a Big Table Without Downtime

    How to safely add a NOT NULL column with a live backfill on a 200M-row Postgres table without locking your users out or scheduling any maintenance downtime.

  • Karakeep: Self-Hosted Bookmarks With AI Tagging

    · Updated:

    Karakeep (formerly Hoarder) is a self-hosted Pocket alternative with AI auto-tagging, full-text search, and Docker Compose deploy in under 10 minutes.

  • Firefly III vs Actual vs Fava (Beancount)

    · Updated:

    Firefly III is full-featured. Actual Budget is YNAB-style. Fava+Beancount is plain-text accounting. Here's how to pick self-hosted personal finance.

  • io_uring: Linux's Async I/O Future Is Already Here

    io_uring slashes syscall overhead vs epoll and AIO. Covers the submission/completion queue model, liburing examples, security caveats, and when to skip it.

  • Postgres HA: Patroni + etcd + HAProxy

    · Updated:

    Build a real Postgres 17 HA cluster with Patroni 4.x, etcd 3.5, and HAProxy, fully automatic failover, tested switchover procedure, zero manual babysitting.

  • Syncthing for Dotfiles: Sync vs Manage

    · Updated:

    Syncthing mirrors your files in real time, but is that actually a good idea for dotfiles? An honest comparison against chezmoi and proper dotfile managers.

  • Btrfs RAID 5/6: Still Don't

    · Updated:

    The kernel docs still warn about it. The Btrfs wiki still warns about it. People still build it and lose data. Here's the write hole, why RAID 1/10 are fine, and what to use instead.

  • Dragonfly vs Redis: Single-Binary Performance

    · Updated:

    DragonflyDB vs Redis 8.x and Valkey 9.x: architecture deep dive, real performance benchmarks, honest gotchas, and when to swap your cache layer for a dragon.

  • ntfy vs Gotify vs Apprise: Push Stacks

    · Updated:

    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.

  • Syncthing Through Untrusted VPS Relays

    · Updated:

    Sync files between machines that are never online together using Syncthing's untrusted encrypted devices, dual-VPS failover, and a Tailscale-only network path.

  • 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.

  • KeyDB: A Redis Fork With Multi-Threading

    · Updated:

    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.

  • Mastodon vs Misskey vs Pleroma 2026

    · Updated:

    Three ActivityPub servers for your own fediverse instance. Mastodon polished, Misskey feature-rich, Pleroma/Akkoma lightweight. Here's how to pick.

  • mdadm Day-2: Grow, Replace, Scrub

    Creating a RAID array is the easy part. The drama starts six months later when one drive starts dying. Here's the survival guide for everything that happens after mdadm --create.

  • Self-Hosted Email Gateways in 2026

    · Updated:

    Self-hosted secure email gateways compared: Proxmox Mail Gateway vs Hermes SEG vs DIY Rspamd, plus which classic appliances are now abandonware.

  • pg_repack vs VACUUM FULL: Reclaim Bloat Live

    · Updated:

    Postgres table bloat killing your query performance? Compare VACUUM FULL vs pg_repack and learn how to reclaim disk space live without any scheduled downtime.

  • Vikunja vs Focalboard vs Taiga

    · Updated:

    Vikunja is a todo+kanban all-rounder. Focalboard is Trello-ish (archived). Taiga is agile/scrum. Here's how to pick self-hosted project management.

  • Hardware RAID vs Software RAID in 2026

    Hardware RAID controllers used to be necessary. Now they're often a liability. Here's when to flash that LSI card to IT mode, when to keep it, and why ZFS specifically refuses to share.

  • FreshRSS vs Miniflux vs Tiny Tiny RSS

    · Updated:

    Three self-hosted RSS readers compared. FreshRSS is polished, Miniflux is minimalist, TT-RSS is feature-rich. Here's how to pick yours.

  • pg_stat_statements: What Most Tutorials Miss

    · Updated:

    pg_stat_statements is far more than a slow query log. Here is what most tutorials skip entirely: tail latency percentiles, cache hit ratios, and WAL bloat.

  • RAID-Z and dRAID: ZFS Parity Explained

    RAID-Z isn't just RAID 5 with a new name. Variable stripe widths, no write hole, and dRAID's distributed spares change the rebuild math entirely.

  • Assume Your App Gets Popped

    How to expose a possibly-vulnerable app to the public internet and survive it: rootless containers, a file-integrity tripwire, and zero inbound SSH on the box.

  • Mealie vs Tandoor vs Grocy Kitchen Stack

    · Updated:

    Mealie is the polished recipe app. Tandoor is the kitchen-ops powerhouse. Grocy tracks your entire house. Here's how to pick a self-hosted kitchen stack.

  • Postgres EXPLAIN ANALYZE Without Crying

    Learn to read Postgres EXPLAIN ANALYZE output without losing your mind. Costs, row estimates, buffer hit stats, and the index and query fixes that matter most.

  • RAID 50/60: Nested Parity Done Right

    RAID 5 and 6 don't scale gracefully past 8 drives. RAID 50 and RAID 60 stripe across multiple parity sub-arrays so rebuilds only stress one group. Here's when nesting actually pays off.

  • Linkding vs Hoarder vs Wallabag in 2026

    · Updated:

    Linkding is minimal bookmarks. Hoarder is AI-tagged content store. Wallabag is read-it-later. Here's how to pick the right self-hosted bookmark tool.

  • pgAdmin vs Adminer vs CloudBeaver: Web UIs

    · Updated:

    pgAdmin, Adminer, or CloudBeaver, three web UIs for your databases, zero overlap in who should use them. Pick the wrong one and you'll hate your life.

  • Borgmatic: Borg Backup, Done Right

    · Updated:

    BorgBackup is great. Borgmatic makes you actually run it: config-driven schedules, hooks, healthchecks, and a backup system that pages you when it breaks.

  • Owncast vs PeerTube vs nginx-rtmp

    · Updated:

    Owncast is the Twitch-alike. PeerTube is federated VOD. nginx-rtmp is roll-your-own RTMP. Here's how to pick a self-hosted streaming platform.

  • PostgreSQL on ZFS: Tuning, Snapshots, Pitfalls

    · Updated:

    Run PostgreSQL 18 on ZFS for atomic snapshots, lz4 compression, and silent corruption detection. Tuning guide, backup automation scripts, and the real pitfalls.

  • Kasm Workspaces: Browser Desktops

    Kasm Workspaces streams disposable Linux desktops and apps to your browser. Threat model, real homelab uses, and how it compares to Guacamole.

  • Navidrome vs Airsonic vs gonic

    · Updated:

    Three self-hosted music servers, all Subsonic-compatible. Navidrome is polished, Airsonic feature-heavy, gonic minimal. Here's how to pick yours.

  • TimescaleDB Continuous Aggregates Without Pain

    Stop melting your DB with Grafana queries. TimescaleDB continuous aggregates pre-roll your metrics so dashboards stay fast even at 90-day ranges without pain.

  • Stop Feeding the AI Your Whole Repo

    Comparing context-mode, code-review-graph, token-savior, and claude-context, MCP tools that stop AI coding agents from reading your whole codebase blind.

  • ClickHouse for Self-Hosted Logs

    ClickHouse can store TB of logs on one node, query in seconds, and outscale Loki and Elasticsearch in raw cost. Here's how to wire it up with Vector and Grafana.

  • DuckDB for Local Analytics: Pandas on Steroids

    DuckDB runs SQL directly on CSV, Parquet, and JSON files with no server and no import step required. Here is why it belongs in every home lab data toolkit.

  • Kodi vs Jellyfin Native for HTPC

    Kodi is the classic media center. Jellyfin's native players ride on the Jellyfin server. Here's which client to run on your HTPC and why.

  • Homebridge vs Home Assistant Hub Showdown

    Homebridge bridges devices into Apple Home. Home Assistant is the full local automation platform. Here's which one to pick, or why you'd run both.

  • PoE Injectors and Switches for the Home Lab

    Cut rack cable clutter with Power over Ethernet. A no-nonsense guide to PoE standards, switch power budgets, and cleanly powering your home lab gear rack.

  • RTK vs snip vs lean-ctx: Token Killers

    RTK, snip, and lean-ctx filter your AI coding agent's output before it burns context tokens. I run RTK daily, here's the one I'd actually switch to.

  • TIG: Telegraf + InfluxDB + Grafana

    When Prometheus is overkill: a push-based metrics stack for IoT, smart home, and homelab data. Telegraf, InfluxDB, and Grafana, working together end-to-end.

  • OctoPrint vs Mainsail vs Fluidd 3D Print

    OctoPrint is the Marlin classic. Mainsail and Fluidd front Klipper. Here's how to pick the right 3D printer web UI for your hardware.

  • TrueNAS vs OpenMediaVault vs Unraid

    · Updated:

    Three popular NAS operating systems compared: TrueNAS's ZFS, OMV's flexibility, and Unraid's mixed-disk magic. Which is right for your home lab?

  • USB-C Power Delivery for Mini PCs

    USB-C Power Delivery can cleanly power your entire mini-PC homelab. Here is what PD versions, cable wattage ratings, and UPS compatibility actually matter.

  • ESPHome: DIY IoT Without Cloud

    ESP32 boards + ESPHome's YAML firmware = your own cloud-free smart sensors and switches. Sensors, OTA updates, and Home Assistant integration in 30 minutes.

  • 10GbE NIC Cheat Sheet: Mellanox, Intel, Chelsio

    Used 10GbE NICs for your homelab in 2026: which Mellanox, Intel, or Chelsio card to buy, which ones to skip entirely, and exactly why the X540 runs hot.

  • Bazzite vs Nobara vs CachyOS Gaming

    · Updated:

    Three Linux gaming distros, three approaches. Immutable Bazzite, tweaked Nobara, performance-tuned CachyOS. Here's which one to pick for gaming Linux.

June 99
  • Zigbee2MQTT vs ZHA

    Two paths to running Zigbee in Home Assistant, Zigbee2MQTT for power-user flexibility, ZHA for plug-and-play. Coordinator hardware, range, and the migration myth.

  • DIY Patch Panel and Rack Cabling for Sanity

    Stop living with spaghetti rack cables. A practical guide to DIY patch panels, structured rack cabling, and a cable layout that will not haunt you at 2 AM.

  • Flatpak vs Snap vs AppImage in 2026

    Flatpak owns desktop. Snap dominates Ubuntu. AppImage is portable. Here's how to pick the right Linux app distribution format for your use case.

  • Home Assistant on Proxmox

    Running Home Assistant OS as a Proxmox VM beats Docker for full Add-ons, USB passthrough, and Supervisor features. Setup, USB sticks, and zero-headache backups.

  • SFP+ Optics and DACs Without Getting Burned

    SFP+ optics, DACs, AOCs, and fiber for home lab 10G networking, what to buy, what to avoid, and how to stop vendor lock-in from wrecking your wallet.

  • Wayland vs X11 in 2026: It's Time

    · Updated:

    X11 is officially legacy. NVIDIA works, screen share works, color management is here. Here's the actual state of Wayland in 2026 and when X11 is still needed.

  • Jitsi Meet Self-Hosted

    Self-host Jitsi Meet as your private Zoom alternative: encrypted video calls, no SaaS bill. Here's how to deploy it with Docker without it falling over.

  • COSMIC vs KDE vs GNOME in 2026

    · Updated:

    Three Linux desktops, three philosophies. COSMIC is opinionated Rust. KDE is maximally customizable. GNOME is workflow-first. Here's how to pick.

  • Hailo-8 vs Coral: AI Accelerators for the Edge

    Hailo-8 vs Google Coral: which edge AI accelerator actually wins for Frigate NVR, Whisper transcription, and local home lab inference workloads in 2026?

  • Matrix: Synapse vs Dendrite vs Conduit

    · Updated:

    Three Matrix server implementations, Python's Synapse, Go's Dendrite, Rust's Conduit. Which one runs your federated chat without eating your homelab alive?

  • AI Swarm Audited My 840-Post Blog

    I pointed a parallel swarm of AI agents at 840 technical posts to fact-check and refresh them, the architecture, the token bill, and the guardrails.

  • Mini PCs With 2.5GbE: Picking the Right Box

    A 2026 home lab guide to mini PCs with built-in 2.5GbE: NIC chipsets, idle power consumption, thermals, and which small form-factor box fits your use case.

  • Minisforum vs Beelink vs Trigkey Homelab

    Three mini PC brands dominate homelab 2026: Minisforum, Beelink, Trigkey. Here's how to pick the right Ryzen or N100 box for your cluster.

  • OPA & Gatekeeper: Policy as Code

    · Updated:

    Open Policy Agent and Gatekeeper enforce rules across Kubernetes, block privileged pods, require labels, restrict images. Rego basics and real homelab constraints.

  • SigNoz vs Uptrace Self-Hosted Observability

    Two OpenTelemetry-first observability platforms backed by ClickHouse. Here's how SigNoz and Uptrace compare for self-hosted homelab and small-team use.

  • Used GPU Buying Guide for Home Lab LLMs

    · Updated:

    Your no-BS guide to buying a used GPU for local LLM inference in 2026. Budget tiers from $300 to $5,000 plus, real VRAM math, and tips to dodge the scams.

  • Longhorn vs Rook-Ceph

    Two ways to give your K8s cluster persistent block storage, Longhorn for simplicity, Rook-Ceph for scale. Real homelab tradeoffs, not vendor marketing slides.

  • Gateway API vs Ingress in 2026

    Ingress is the annotation-soup classic. Gateway API is the role-oriented future with proper L4/L7 separation. Here's when to migrate and when to wait.

  • Rock 5B vs Orange Pi 5 vs Pi 5

    Rock 5B, Orange Pi 5, and Raspberry Pi 5 compared for home lab use, NVMe, 2.5GbE, NPU, Frigate, k3s performance, and which one you should actually buy.

  • Velero: K8s Backup and DR

    Your cluster will fail. Velero captures everything, manifests, CRDs, persistent volumes, and lets you replay it on a fresh cluster. Setup, gotchas, real DR plans.

  • BIOS/UEFI Tweaks for Headless Servers

    Before you rack that server and walk away forever, these BIOS and UEFI settings will save you from a 3 AM drive to the datacenter or your dusty basement.

  • Claude Code in a Homelab Workflow

    Claude Code puts an agentic AI assistant in your terminal for real homelab work, compose files, bash, Ansible, systemd. The honest take on cost and data.

  • Kustomize vs Jsonnet for K8s Manifests

    Kustomize patches YAML with overlays. Jsonnet is a real templating language with imports and functions. Here's which K8s manifest tool to pick.

  • cert-manager: ACME at Scale

    cert-manager makes Let's Encrypt automatic on Kubernetes, once. Then you scale, hit DNS-01 quirks, wildcard limits, and rate-limit walls. Here's the full survival guide.

  • Rootless Docker: Tips, Gotchas & Fixes

    Rootless Docker tuning deep-dive: network drivers, env vars, port drivers, cgroup delegation, and real troubleshooting, anchored to Docker Engine 29.x.

  • Argo Rollouts vs Flagger Progressive Delivery

    Argo Rollouts uses a Rollout CRD with a slick UI. Flagger watches your Deployment with a Canary CRD. Here's which progressive-delivery tool to pick.

  • Network Booting Diskless Nodes with iPXE

    Boot any OS over the network using iPXE, covers dnsmasq proxyDHCP setup, HTTP boot menus, Talos OS live boot, and the quick netboot.xyz shortcut method.

  • Argo Workflows vs Tekton

    Two Kubernetes-native pipeline engines from CNCF, Argo Workflows and Tekton. Different philosophies, same goal: stop using Jenkins. Honest comparison.

  • DIY NAS Build: Compute, Drives, Power Walkthrough

    · Updated:

    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.

  • 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.

  • 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.

  • 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.

  • 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.

  • etcd vs Consul vs ZooKeeper Coordination

    etcd powers Kubernetes. Consul is the service-discovery Swiss army knife. ZooKeeper is the grizzled veteran. Here's how to pick a coordination store.

  • 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.

  • FastAPI vs Flask vs Django Picked Right

    FastAPI is async and type-driven. Flask is the micro-framework. Django is batteries-included. Here's how to pick for homelab apps and small SaaS.

  • NVMe Heatsinks That Actually Cool

    NVMe drives throttle hard at 70-85C. Here is how to monitor temps, intentionally trigger throttling to confirm it, and pick a heatsink that fixes the issue.

  • Zeek for Home Lab Forensics

    Zeek (formerly Bro) turns network traffic into structured logs you can actually query. The IDS that doesn't shout, it documents. Setup and use in a home lab.

  • Neo4j vs ArangoDB: Graph DB Showdown

    Neo4j is the household graph DB with Cypher. ArangoDB is multi-model with AQL and free clustering. Here's which one fits your homelab graph use case.

  • SAS vs SATA in 2026: When SAS Still Wins

    SAS drives are not dead, they are cheap on eBay right now. Here is exactly when used SAS3 hardware beats SATA for home lab storage builds on a budget.

  • ModSecurity vs Coraza WAF

    ModSecurity 3 is end-of-life and Coraza is the open-source successor, Go-native, faster, and friendlier. Here's the migration story and what actually changes.

  • Photon vs ESPHome: ESP Firmware Compared

    Particle Photon 2 vs ESPHome for ESP32 projects: cloud lock-in, OTA updates, Home Assistant integration, and which firmware wins for self-hosters long-term.

  • Postgres vs SQLite for Home Lab Apps

    SQLite is brilliant until you need concurrent writes, replication, or online migrations. Here's the actual line where Postgres earns its keep.

  • SOPS + age: Secrets in Git

    Stop the .env-in-1Password dance. SOPS encrypts secrets per-key, age provides modern crypto, and git stores them safely. Here's how to ship it without the traps.

  • Self-Host a Local AI Coding Workhorse

    Self-host Gemma 4 or Qwen3-Coder via Ollama or llama.cpp in Docker, then let Claude delegate the grunt work to it. Free tokens, zero code leakage.

  • ddrescue vs TestDisk vs PhotoRec

    Drive is dying. Which tool do you reach for? ddrescue clones, TestDisk repairs partitions, PhotoRec carves files. They're a workflow, not rivals.

  • Zigbee Coordinator Showdown: Sonoff vs ConBee vs SkyConnect

    Sonoff Zigbee Dongle Plus-E vs ConBee III vs SkyConnect, pick the right Zigbee USB coordinator for your Home Assistant home lab or apartment setup in 2026.

  • WebAuthn & Passkeys for Sysadmins

    Passkeys finally killed passwords for real users. Here's what WebAuthn actually is under the hood, and how to roll passkeys out on your self-hosted services.

  • Give Your AI Agent a Cheap Intern

    Stop burning expensive AI tokens on boring grunt work. The overseer/workhorse pattern routes mechanical tasks to a cheap model and saves more than you'd think.

  • Borg vs Duplicacy: Dedup Backup Wars

    Borg is open-source classic with SSH targets. Duplicacy has lock-free multi-source magic but commercial GUI. Here's which backup tool to pick.

  • Owntracks + Home Assistant: Private Location Tracking

    Stop feeding Google your daily commute. OwnTracks + MQTT broker + Home Assistant gives you real presence detection without the surveillance capitalism overhead.

  • KVM/QEMU/libvirt: CLI Workflows

    · Updated:

    virt-manager is fine, but real homelab automation lives on the command line. virt-install, virsh, cloud-init, provision VMs in seconds, not click-by-click.

  • BirdNET-Pi for Self-Hosted Bird Identification

    Turn a Raspberry Pi and a cheap USB mic into a self-hosted bird ID station using BirdNET-Pi and Cornell ML audio models running entirely locally offline.

  • Claude Code + SearXNG: Private Web Search

    Wire a self-hosted SearXNG instance into Claude Code via a Bash wrapper for private, scriptable web search, and when to use it vs the built-in tool.

  • fd vs find: Rust Speed vs POSIX Power

    fd has sane defaults, parallel walking, and respects .gitignore. find is gnarly but ships everywhere. Here's when each one wins.

  • Linux Namespaces from Scratch

    Containers are just namespaces and cgroups in a trench coat. Build one yourself with unshare and nsenter, no Docker required. Here's what actually happens.

  • rclone vs Restic: Sync vs Backup

    rclone copies and syncs files to cloud storage. Restic does deduplicated encrypted snapshots. Confusing them costs you restores at 2 AM.

  • Scrypted vs Frigate for Self-Hosted Cameras

    · Updated:

    Scrypted bridges your IP cameras to HomeKit and Google Home. Frigate adds AI object detection on your own hardware. Here's how to pick, or run both at once.

  • mtr vs traceroute: Packet Loss

    traceroute lies. mtr tells the truth. Here's how to read packet-loss reports like an oncall engineer and stop blaming your ISP for the wrong hop.

  • ESPresense: Room-Level Bluetooth Presence in Home Assistant

    Track which room you're in with cheap ESP32 nodes and BLE signal distance, real room-level presence for Home Assistant automations that actually work.

  • Hetzner vs DigitalOcean vs Vultr

    Picking a cheap VPS for home-lab overflow, off-site backups, public endpoints, CGNAT escape. Real tradeoffs, honest picks per scenario.

  • ZFS Encryption vs LUKS

    · Updated:

    Native ZFS dataset encryption vs LUKS under your pool, which layer to encrypt at, performance trade-offs, key management, and raw send/recv.

  • iperf3 + nload: Network Diagnosis

    Your gigabit link drops to 200 Mbps and you don't know why. iperf3 measures throughput honestly, nload visualizes traffic, together they find the bottleneck fast.

  • Plex Meta Manager: Posters, Collections, Sanity

    Stop staring at a Plex library that looks like a clearance bin. Kometa (formerly Plex Meta Manager) automates collections, posters, overlays, and bulk ratings.

  • Syncthing vs Resilio vs Seafile

    Dropbox got expensive and your data left the building. Syncthing, Resilio Sync, and Seafile compared, pick the one that fits your threat model.

  • SMART Disk Monitoring with smartmontools

    Disks fail. SMART tells you when. Here's how smartctl and smartd actually predict failure, and the attributes that matter (most don't).

  • Jellyseerr Tagging Workflows for Real Libraries

    Stop guessing whose request is clogging your 4K library. Jellyseerr tags + Sonarr/Radarr + Maintainerr = real per-user quota control that actually holds up.

  • OpenConnect vs AnyConnect

    OpenConnect replaces the bloated AnyConnect client on Linux. Run ocserv for a self-hosted Cisco-compatible VPN server, no 200MB installer required.

  • fio: Real Disk Benchmarking

    Stop trusting marketing IOPS numbers. fio measures what your disk actually does on your workload, sequential, random, mixed. Here's how to read the output honestly.

  • Boundary vs Teleport

    Zero-trust access for SSH, k8s, and databases, HashiCorp Boundary vs Teleport compared on identity, session recording, and self-host fit.

  • Whisparr & Mylar3: Specialty *arr Apps Explained

    · Updated:

    Sonarr handles TV. Radarr handles movies. But who handles comics and adult content? Meet Mylar3 and Whisparr, the *arr apps nobody talks about, until now.

  • Dify: Visual Agent Workflows

    Dify is an open-source LLM-app builder you can self-host. Visual workflow editor, RAG, agents, tool use, without writing 500 lines of LangChain glue.

  • LazyLibrarian + Readarr: Automating Your Book Library

    · Updated:

    LazyLibrarian vs Readarr for ebook and audiobook automation in 2026, why Readarr got retired, what to run instead, with real Docker Compose configs.

  • stunnel vs spiped

    TLS tunneling for legacy plaintext services, stunnel's X.509 cert model vs spiped's pre-shared key simplicity, and when each one actually wins.

  • OpenRouter vs LiteLLM

    · Updated:

    OpenRouter is a hosted gateway, LiteLLM a self-hosted proxy, and Stripe now owns one of them. Which one belongs in your home lab as of August 2026?

  • Immich vs PhotoPrism vs Ente: Self-Hosted Photo Libraries

    Google Photos went paid and the alternatives matured fast. Immich, PhotoPrism, and Ente: which self-hosted photo library actually fits your life in 2026?

  • Unbound vs Technitium vs BIND

    · Updated:

    Picking a recursive DNS resolver for your home lab, Unbound, Technitium, and BIND9 compared on speed, GUI, DNSSEC, and split-horizon.

  • Function Calling in Local LLMs

    Local LLMs can call tools, query APIs, and run code if you set them up right. Function calling on Ollama and llama.cpp explained, patterns that actually work.

  • HACS: When Custom Integrations Bite You

    HACS custom integrations can brick your Home Assistant setup overnight. Here's how to use them safely, recover when they don't, and know when to skip them.

  • ntopng vs darkstat

    ntopng vs darkstat: full DPI flow analysis vs a tiny always-on stats page. Pick the right tool for home-lab network visibility without losing your mind.

  • Gemma 4 vs Qwen3.6

    · Updated:

    Gemma 4 vs Qwen3.6: sizes, reasoning, coding benchmarks, and which model you should actually pull for your home lab rig.

  • AnythingLLM as Knowledge Base

    AnythingLLM is the closest thing to a real private NotebookLM you can self-host. Workspaces, RAG, agents, document chat, running locally on Ollama in 20 minutes.

  • FRR vs BIRD

    FRR vs BIRD: two open-source routing daemons compared for BGP, OSPF, and home-lab dynamic routing. Which one belongs in your stack?

  • Home Assistant Add-Ons vs Docker Containers

    HAOS Add-Ons vs bare Docker Compose for Mosquitto, ESPHome, Frigate, when the Supervisor magic is worth it and when it just gets in your way.

  • Local Vision LLMs Worth Running in 2026

    · Updated:

    Pixtral, Qwen3-VL, and Gemma 4 compared for local multimodal use in 2026. LLaVA is dead; here's what to run in Ollama for OCR, screenshots, and vision tasks.

  • HAProxy vs Envoy

    HAProxy vs Envoy for L4/L7 load balancing, config style, performance, observability, service mesh fit, and which one belongs in your home lab.

  • Home Assistant Voice: Wyoming vs Rhasspy

    Wyoming protocol vs Rhasspy for local Home Assistant voice, which offline stack actually works in 2026, hardware requirements, and when to choose each one.

  • MCP Servers: Tools for LLMs

    Model Context Protocol turns your LLM into a tool-using agent, file access, APIs, your home lab. Build your first MCP server in under 50 lines of Python.

  • Caddy vs Traefik

    Caddyfile zen vs Traefik labels-everywhere, picking a reverse proxy for self-hosted services in 2026. Real configs, real gotchas.

  • Promtail to Alloy Migration: A Practical Diff

    Promtail is deprecated. Here's how to migrate your scrape configs, pipeline stages, and Docker log setups to Grafana Alloy without losing your mind or data.

  • RAG Evaluation with Ragas

    Most RAG demos look great until you ship them. Ragas measures faithfulness, context precision, answer relevancy, the metrics that actually predict user trust.

  • Bun vs Deno vs Node in 2026

    Picking a JavaScript runtime in 2026, Bun, Deno, and Node compared on speed, ecosystem, TS support, and self-hosted use cases.

  • LibreNMS for SNMP-Heavy Home Networks

    LibreNMS auto-discovers your switches, APs, and UPS over SNMP with zero MIB hunting. Here's how to deploy it and stop abusing Prometheus for this job.

  • LLM Distillation Explained

    How tiny 7B and 8B models keep punching above their weight, knowledge distillation, the teacher-student trick that makes local AI actually usable on home hardware.

  • Rancher vs Podman vs Docker Desktop

    Rancher Desktop, Podman Desktop, and Docker Desktop go head-to-head on cost, k8s, resource use, and real-world friction for local dev.

  • SmokePing for Internet Connection Sanity

    SmokePing turns your ISP no-issue-detected excuse into a documented lie. Set it up in Docker and get clear visual proof of latency spikes and packet loss.

  • Garden vs Tilt vs Skaffold

    Three inner-loop dev tools for Kubernetes, Garden, Tilt, and Skaffold. Which one actually makes K8s development bearable? Honest comparison, no fluff.

  • Lima vs Multipass

    VM-backed Linux dev environments on macOS/Linux, Lima vs Multipass compared on speed, container support, and resource use.

  • Riemann: The Forgotten Event-Stream Monitor for Home Labs

    Riemann processes events as streams, not time-series. Here is why that distinction matters and when Clojure-based stream alerting still beats Prometheus rules.

May 66
April 53
March 30
February 17
January 24
2025 142
December 11
November 19
October 14
September 16
August 19
July 14
June 5
May 8
April 11
March 10
February 8
January 7
2024 65
September 3
August 1
July 26
June 22
May 1
April 3
March 2
  • LocalAI: The OpenAI API, Self-Hosted

    · Updated:

    LocalAI serves chat, embeddings, images and audio behind one OpenAI-compatible endpoint. Auth is deny-by-default now, and old compose files pull dead models.

  • Understanding PostgreSQL Connection URIs

    · Updated:

    Decode the postgresql:// connection string, host, port, database, SSL mode, and the gotchas that cause connection refused at deploy time.

February 7
2023 20
September 2
  • Linux Bash Tips and Tricks pt1

    · Updated:

    Bash tricks that save keystrokes, history expansion, brace expansion, process substitution, and the shortcuts your fingers will thank you for.

  • Set the Timezone in Ubuntu with timedatectl

    · Updated:

    Set, verify, and sync your timezone in Ubuntu using timedatectl, one command to fix the clock on a newly provisioned server.

July 2
April 2
March 7
  • NocoDB DB Management System

    · Updated:

    NocoDB wraps any SQL database in a spreadsheet UI, self-host an Airtable alternative on top of MySQL, PostgreSQL, or SQLite with Docker.

  • Appwrite Backend-as-a-service (BaaS)

    · Updated:

    Appwrite is an open-source Firebase alternative you can self-host, databases, auth, storage, and functions without vendor lock-in.

  • Wireguard VPN Server in Docker

    · Updated:

    Run a WireGuard VPN server in Docker with the linuxserver image, Compose setup, peer config generation, and road warrior access to your home network.

  • Install & use Doxygen via Docker

    · Updated:

    Generate code documentation with Doxygen without installing it, run it from a Docker container and get HTML docs from any codebase.

  • Automatic Backup of Docker MySQL or MariaDB Containers

    Automate MySQL/MariaDB backups from a running Docker container using cron and mysqldump, no downtime, no excuses for losing your data.

  • WordPress on PHP-FPM & Caddy in Docker

    · Updated:

    Run WordPress on PHP-FPM with Caddy as the web server, all in Docker Compose with automatic HTTPS and proper PHP config.

  • Docker Compose useful commands

    · Updated:

    The docker compose commands you actually use daily, up, down, logs, exec, pull, and the flags that make them way more useful.

February 7
  • How to install NextCloud via Docker

    · Updated:

    Self-host Nextcloud in Docker with persistent storage and a reverse proxy, your own Google Drive without the Google.

  • Ed25519 SSH Keys: Ditch RSA for Good

    · Updated:

    RSA SSH keys are aging out. Ed25519 is the modern default: generate one in seconds, secure it with ssh-agent, add FIDO2 hardware keys, and audit legacy keys safely.

  • Install a php script in PHP-FPM & Caddy via Docker

    Run PHP apps with PHP-FPM and Caddy in Docker, FastCGI configuration, volume mounts, and the Caddyfile that wires it all together.

  • Install Caddy reverse proxy via Docker

    · Updated:

    Get Caddy running as a reverse proxy in Docker, automatic HTTPS, Caddyfile config, and Docker Compose setup in under 10 minutes.

  • Access Docker socket via TCP

    · Updated:

    Expose Docker's Unix socket over TCP so remote tools and dashboards can connect, daemon.json config for Linux and Windows.

  • Install docker on Ubuntu/Debian

    · Updated:

    The official, no-nonsense way to install Docker Engine on Ubuntu and Debian, repository setup, key import, and one command to verify it works.

  • Linux su with custom shell

    · Updated:

    Use su with a specific shell to switch users without the default login shell, useful when /etc/passwd points to something unexpected.

2019 2
September 1
  • When systemd swallows your service logs

    · Updated:

    Service restart not showing logs? systemd hides stdout. Learn journalctl, systemctl status, and debugging workflows for silent systemd failures.

July 1
  • How to Upload an ISO to Proxmox (3 Ways)

    · Updated:

    Upload an ISO to Proxmox three ways: web UI, wget onto the node, or SCP. Where ISOs live, why browser uploads stall, and how to fix storage with no ISO option.

2016 6
August 2
  • Enable WebGL on Chrome or Firefox

    · Updated:

    WebGL disabled or hardware acceleration broken? Force-enable it in Chrome and Firefox with the right flags and about:config tweaks.

  • Ubuntu & Bash tutorial & basic utilities

    Essential bash utilities for Ubuntu newcomers, file management, text processing, process control, and the commands you'll type every day.

May 2
  • Why You Should Switch to ZShell (zsh)

    · Updated:

    Switch your default shell to zsh on Linux, why zsh beats bash, installation, Oh My Zsh setup, essential plugins, and the gotcha that still catches everyone.

  • Alsa CLI Volume control

    · Updated:

    Control Linux audio volume and mic boost from the terminal with ALSA's amixer, no GUI needed, no remembering cryptic card numbers.

April 1
  • Linux distribution info & kernel info

    · Updated:

    Find your Linux distro version, kernel version, and architecture with uname, lsb_release, /etc/os-release, and hostnamectl.

February 1
  • Bulk rename files in bash

    · Updated:

    Remove spaces and special characters from filenames using bash loops, rename, find, and parameter expansion tricks.

2015 1
July 1
2013 7
October 1
September 1
  • Bash for loops sequential counting

    · Updated:

    Master bash for loops, while loops, and seq for sequential counting, iterate over files, ranges, and arrays without losing your mind.

July 3
May 2
2012 7
October 1
September 1
  • Logrotate & Compression

    · Updated:

    logrotate keeps your /var/log from eating the disk, configure rotation schedules, compression, and retention for any service log.

April 1
  • SSH keys and secure file copy

    · Updated:

    Generate SSH keys, set up passwordless auth, configure SSH, and transfer files securely with SCP, the foundation of headless Linux work.

March 2
  • Recursively delete all empty subdirectories

    · Updated:

    Clean up empty directories with find and rmdir, safely prune orphaned dirs left after file migrations.

  • Directory FileCount

    · Updated:

    Count files in a directory (recursively or not) with find, ls, and tree, quick one-liners for when du just isn't telling you enough.

February 2
  • Archive & Compression utilities

    tar, gzip, bzip2, xz, zip, demystified. When to use each compression tool, speed vs ratio trade-offs, and the flags you'll actually need.

  • Sed 101

    · Updated:

    sed is the stream editor for making text substitutions, deletions, and insertions in files, the patterns you'll use 90% of the time.