Practical walkthroughs

Hands-on walkthroughs covering Linux sysadmin, server setup, networking, and the occasional hardware rescue. Each one is a real-world scenario, revisited with current context and the details that matter on a first attempt.

May 2026 Linux

NixOS as a declarative server

A Linux distribution where every package, service, and kernel parameter lives in one configuration file and rebuilds atomically. Install, configure, add a service, roll back — and pin nixpkgs with flakes.

NixOS Nix Flakes
May 2026 Servers

Authentik: self-hosted SSO with OIDC and forward-auth

An open-source identity provider for every app you self-host. Docker compose stack, the applications + providers + outposts model, OIDC for Grafana-style apps, and forward-auth for everything else.

Authentik SSO OIDC
May 2026 Servers

Self-host LLMs on Linux with Ollama

Pull a model, run local inference, expose an OpenAI-compatible API. Install on Debian/Ubuntu, GPU detection, the systemd env vars worth knowing, and a working embeddings + Open WebUI setup.

Ollama LLM GPU
May 2026 Networking

Tailscale: a mesh VPN you stop noticing

WireGuard data plane with NAT traversal, MagicDNS, ACLs and a coordination server you don't run. Install on Linux + Windows, advertise subnet routes, set up an exit node, turn on Tailscale SSH.

Tailscale WireGuard MagicDNS
May 2026 Networking

CrowdSec: a modern fail2ban with collaborative blocklists

An IPS that parses logs, shares anonymized signals with a community blocklist, and decouples detection from enforcement via bouncers. Install on Debian, scenarios, bouncers, and a Caddy forward-auth example.

CrowdSec IPS Bouncer
May 2026 Servers

Caddy v2 on Debian: HTTPS without thinking about it

Install from the official Cloudsmith repo, write a five-line Caddyfile, get automatic Let's Encrypt certificates and HTTP/3. Reverse proxy, SPA fallback, PHP-FPM, multi-site, and a sane troubleshooting list.

Caddy HTTPS ACME
May 2026 Servers

Encrypted offsite backups with restic and S3-compatible storage

Strong default encryption, content-addressed dedup, and direct support for S3, B2, Azure, and SFTP. End-to-end setup including a systemd timer, the forget/prune lifecycle, and monthly integrity checks.

restic Backups S3
May 2026 Dev Tools

pgvector for embeddings & semantic search

An ANN index inside Postgres that joins to your existing tables. Schema design, HNSW vs IVFFlat, the three distance operators, and why pgvector beats a standalone vector DB on operational simplicity.

PostgreSQL pgvector RAG
Apr 2026 Linux

Rootless Podman with Quadlet systemd units

Containers as your own UID, supervised by systemd, declared in .container files. The clean replacement for both podman generate systemd and most docker-compose use cases.

Podman Quadlet systemd
Apr 2026 Dev Tools

DuckDB for analytics on local files

An embedded analytical SQL engine that reads Parquet, CSV, JSON, and Arrow directly. Query files in place, join across formats, attach SQLite/Postgres, and read from S3 without an ETL step.

DuckDB SQL Parquet
Apr 2026 Dev Tools

uv: the Rust-based Python toolchain

Astral's drop-in replacement for pip, pipx, poetry, pyenv, and virtualenv — one Rust binary, an order of magnitude faster, with cross-platform lockfiles and Python version management built in.

uv Python Astral
Apr 2026 Dev Tools

Bun as a Node.js replacement

A JavaScript runtime, bundler, package manager, and test runner in one binary. Node-compatible enough that most apps run unmodified, with much faster install and startup — and a single-binary compile mode for deployment.

Bun Node.js TypeScript
Apr 2026 Networking

Headscale: a self-hosted Tailscale control plane

An open-source reimplementation of the Tailscale coordination server. Same official Tailscale clients, same WireGuard mesh, but the control plane is on your VPS. Install, ACLs, and client enrollment on Linux/Windows/macOS.

Headscale Tailscale WireGuard
Mar 2026 Networking

Expose services without opening ports using Cloudflared tunnels

An outbound-only QUIC tunnel from your server to Cloudflare's edge. No inbound firewall rule, no public IP, no NAT punching. Cloudflare Access on top gives you SSO and per-route policies for free.

Cloudflare cloudflared Zero Trust
Mar 2026 Servers

Vaultwarden: self-hosted Bitwarden-compatible password manager

A Rust reimplementation of the Bitwarden server, compatible with every official client. One container plus a database, ~50 MB RAM. Reverse proxy, SMTP, hardening, fail2ban, and backups end-to-end.

Vaultwarden Bitwarden Self-host
Mar 2026 Servers

K3s: single-binary Kubernetes for one box

Rancher's lightweight Kubernetes distribution — control plane, kubelet, CNI, ingress, and storage in one ~50 MB binary. ACME-enabled Traefik via a HelmChartConfig, local-path storage, and a working manifest end-to-end.

K3s Kubernetes Traefik
Mar 2026 Networking

Pi-hole with Unbound: ad-blocking and a recursive resolver in one box

A LAN-wide DNS ad-blocker that resolves queries directly to the root servers instead of forwarding to Cloudflare or Quad9. Install both, wire them together, add encrypted DNS for clients, and back up the lot.

Pi-hole Unbound DNSSEC
Feb 2026 Dev Tools

Litestream: continuous replication for SQLite

Stream SQLite's WAL to S3/B2/GCS in near real time. Sub-second RPO, point-in-time restore, no application changes — Postgres-grade durability for the workloads that fit in SQLite.

Litestream SQLite S3
Feb 2026 Dev Tools

Tauri 2: shipping desktop apps from web tech

A Rust backend plus the OS's native WebView produces 5–10 MB binaries with a fraction of Electron's memory. Tauri 2 adds first-class Android/iOS targets and capability-scoped IPC.

Tauri Rust Desktop
Feb 2026 Linux

Debian on ZFS root with native encryption and Boot Environments

End-to-end ZFS root install: dual bpool/rpool layout, native encryption, GRUB or zfsbootmenu, and Boot Environments that turn "I broke the system" into a bootloader pick instead of a recovery procedure.

ZFS Debian Encryption
Feb 2026 Servers

Immich: a self-hosted photo library that replaces Google Photos

Open-source photo backup with mobile apps, face recognition, and CLIP semantic search ("blue car at sunset" really works). The full docker compose, reverse-proxy tuning for huge uploads, and ML model trade-offs.

Immich Self-host CLIP
Jan 2026 Servers

Coolify: a self-hosted Heroku/Vercel for your own VPS

Push to a Git branch, get an HTTPS app on your own server — Nixpacks builds, Let's Encrypt via Traefik, managed Postgres/Redis/MariaDB, scheduled backups, and a 70-plus library of one-click services.

Coolify PaaS Traefik
Jan 2026 Networking

Step CA: a private certificate authority for internal services

An open-source online CA. ACME-compatible (anything that works with Let's Encrypt works against it), short-lived certs by default, and an SSH host/user certificate authority built in. One trust root for the homelab.

Step CA PKI ACME
Jan 2026 Linux

Kernel-level observability with eBPF and bpftrace

Verified bytecode attached to syscalls, kernel and user-space functions, tracepoints, and perf events. Replaces strace/perf for most "what is this process actually doing" questions at a fraction of the overhead.

eBPF bpftrace Tracing
Jan 2026 Dev Tools

Astro: the modern static site generator that ships zero JS by default

Render to static HTML at build time, ship JavaScript only when a component opts in. Islands of React/Vue/Svelte alongside plain Markdown, typed content collections with Zod, and adapters for SSR when needed.

Astro SSG Islands
Dec 2025 Servers

Forgejo: lightweight self-hosted Git with built-in CI

A Gitea community fork that's become the default self-hosted Git in 2026. Single Go binary or container, GitHub-Actions-compatible CI, container + npm/Maven/PyPI/Cargo registries, and a clean migration path from GitHub/GitLab.

Forgejo Gitea CI/CD
Dec 2025 Servers

MinIO: self-hosted S3-compatible object storage

One Go binary that speaks the full S3 API on your own disks. Single-node and distributed deployments, IAM users with scoped policies, object-lock for immutable backups, and bucket replication.

MinIO S3 Object Storage
Dec 2025 Servers

Grafana + Loki + Promtail: logs as queryable data

Loki indexes labels, not full text — an order of magnitude cheaper than ElasticSearch for the same volume. Promtail ships logs, LogQL queries them, Grafana renders them next to your existing dashboards.

Loki Grafana Observability
Nov 2025 Dev Tools

HTMX: interactive web apps without an SPA

A 14 KB JS library that adds AJAX, partial swaps, and SSE as HTML attributes. The server returns HTML fragments instead of JSON; the page swaps them in. Most admin panels and CRUD apps don't need React after this.

HTMX Hypermedia SSR
Nov 2025 Linux

systemd-nspawn: lightweight containers from the OS that already owns init

Full Debian/Fedora userlands isolated with namespaces and cgroups, supervised by the host's own systemd. No daemon, no registry — systemctl status, journalctl -M, and machinectl are the whole tool set.

systemd-nspawn Containers machinectl
Nov 2025 Servers

Home Assistant on Linux: from install to integrations

A local-first home automation platform with thousands of integrations. HAOS vs Container vs Core, USB radio passthrough, the first three integrations to add, and the local-LLM voice assistant story.

Home Assistant Zigbee ESPHome
Nov 2025 Networking

Mosquitto: a small MQTT broker for IoT and home automation

The canonical lightweight open-source MQTT broker. Install, password auth, TLS, ACLs, bridging, retained messages, and integration with Home Assistant and Zigbee2MQTT.

Mosquitto MQTT IoT
Oct 2025 Dev Tools

aider: AI pair programming in your terminal

A command-line LLM coding assistant that pairs with a Git repo. Edit requests become diffs, every change is auto-committed, and the model has a tree-sitter map of the whole codebase. Works with OpenAI, Anthropic, and local Ollama.

aider LLM Pair Programming
Oct 2025 Servers

HashiCorp Vault for self-hosted secrets management

One encrypted, audited, role-based store for credentials, certificates, and dynamic database passwords. Install (Vault or OpenBao), unseal, mount KV, write policies, and issue short-lived Postgres creds on demand.

Vault OpenBao Secrets
Oct 2025 Linux

Incremental backups with Btrfs send/receive

Serialize the diff between two read-only snapshots into a stream; pipe it to another Btrfs target. No rsync-style full-tree scan, no checksum walk — bandwidth is exactly the data that changed. Plus btrbk for scheduling.

Btrfs Snapshots btrbk
Sep 2025 Servers

Frigate: an open-source NVR with on-device AI object detection

A self-hosted NVR for IP cameras with real-time object detection on a Coral TPU, Intel iGPU, or NVIDIA GPU. RTSP ingest, motion zones, MQTT events, Home Assistant integration, and the right hardware choices.

Frigate NVR Coral TPU
Sep 2025 Networking

OPNsense: the open-source router/firewall to put your ISP's box behind

A FreeBSD-based router OS with first-class WireGuard, Suricata IPS, multi-WAN, and a coherent UI. Hardware tier, installation, VLANs for IoT, ACL discipline, and DNSBL ad-blocking on Unbound.

OPNsense Firewall VLAN
Sep 2025 Servers

Prometheus + Alertmanager: metrics and alerting end-to-end

A pull-based TSDB, node_exporter on every host, cAdvisor for containers, PromQL by example, alerting rules with sensible dwell times, and Alertmanager routing to Slack/email/PagerDuty.

Prometheus Alertmanager Metrics
Aug 2025 Dev Tools

PostgREST: an instant REST API from a Postgres schema

A single Haskell binary that turns tables into endpoints, views into reports, functions into RPC, and row-level security into authorization. Most CRUD APIs collapse to a 50-line SQL schema.

PostgREST PostgreSQL REST
Aug 2025 Linux

chrony: accurate time sync for Linux servers

The NTP daemon that replaces systemd-timesyncd and ntpd. Continuous clock discipline, fast recovery from suspend, NTS over Cloudflare, LAN time-server mode, and Prometheus-friendly drift alerts.

chrony NTP Time Sync
Aug 2025 Servers

Paperless-ngx: a self-hosted document archive with OCR

Drop scans, PDFs, photos, or emails in and get a full-text-searchable, tagged document archive. Docker compose, consume folder, mobile scan workflow, Tika for Office docs, and a one-command export for backups.

Paperless-ngx OCR Self-host
Jul 2025 Servers

n8n: self-hosted workflow automation that beats Zapier

A visual workflow engine with 500+ integrations, branching, code nodes, schedules, and webhooks. Connect SaaS to SaaS — or pair with local Ollama for AI agents that don't leave the LAN.

n8n Automation Workflow
Jul 2025 Dev Tools

mise: one tool for every language runtime version

The Rust-based polyglot version manager that replaces nvm, pyenv, rbenv, jenv, asdf, and direnv. Per-project versions for Node/Python/Ruby/Go/Java, plus tasks and per-directory env.

mise Version Manager Polyglot
Jul 2025 Networking

NetBox: an IPAM + DCIM source-of-truth for your network

One database for IPs, prefixes, VLANs, devices, racks, cables, and circuits. Stable REST + GraphQL API so Ansible / Terraform / observability tools can rely on it instead of spreadsheets.

NetBox IPAM DCIM
Jul 2025 Linux

OpenSnitch: an interactive application firewall for Linux

A Little Snitch-style firewall for Linux. Every new outbound connection prompts per-process and per-destination; rules accumulate into a knowable allow-list. Tame surprising "phone home" traffic on a Linux desktop.

OpenSnitch Firewall Privacy
Jun 2025 Servers

Stalwart: a modern self-hosted mail server in one binary

A Rust mail-server stack that ships as one binary — SMTP, JMAP, IMAP, sieve, anti-spam, DKIM/SPF/DMARC, S/MIME — covering what used to take Postfix + Dovecot + SpamAssassin + OpenDKIM. DNS, TLS, deliverability tips, and the honest "should I self-host email" check.

Stalwart SMTP Mail
Jun 2025 Servers

Uptime Kuma: self-hosted uptime monitoring and status pages

A clean self-hosted alternative to UptimeRobot / Pingdom. HTTP, TCP, ICMP, DNS, push, and database monitors; 90+ notification channels; pretty status pages; SSL-expiry alerts; works alongside Prometheus.

Uptime Kuma Monitoring Self-host
Jun 2025 Servers

Argo CD: GitOps for Kubernetes (including K3s at home)

Declarative continuous-delivery driven by a Git repo. Install, your first Application, the app-of-apps pattern for fleets, Helm/Kustomize sources, External Secrets for sensitive values, and OIDC SSO via Authentik.

Argo CD GitOps Kubernetes
Jun 2025 Dev Tools

A modern Unix CLI starter pack: ripgrep, fd, bat, eza, zoxide, fzf

Rust-rewritten replacements for grep / find / cat / ls / cd, plus fzf as the universal fuzzy picker. Faster, saner defaults, gitignore-aware — and they coexist with the originals so nothing in your scripts breaks.

ripgrep fzf CLI
May 2025 Networking

OpenSSH beyond the basics: ProxyJump, ControlMaster, and SSH certificates

The ~/.ssh/config patterns that turn SSH from a tool into a fabric. ProxyJump for bastions, ControlMaster for fast multiplexed sessions, host + user certificate authorities, safe agent forwarding, and audit-friendly sshd defaults.

OpenSSH Bastion Certificates
May 2025 Servers

Wazuh: open-source SIEM and XDR for the homelab and beyond

Host IDS, log analysis, file integrity monitoring, CVE-based vulnerability detection, and CIS-style compliance scans in one open-source stack. All-in-one server, agents on every host, custom rules, and active response.

Wazuh SIEM FIM
May 2025 Dev Tools

DragonflyDB: a drop-in Redis replacement that uses all your cores

A Redis- and Memcached-compatible in-memory store written in C++ with shared-nothing per-core threading. Same RESP protocol, same clients, often 5–25× more ops/sec per machine, and a notably smaller per-key memory footprint.

DragonflyDB Redis In-Memory
May 2025 Servers

OpenTelemetry Collector: vendor-neutral telemetry pipelines

One binary that receives traces, metrics, and logs in any format, applies processing (sampling, redaction, batching), and exports to any backend. The right shape for observability you don't want to rewrite next year.

OpenTelemetry Observability Tracing
Apr 2025 Networking

Mosh: a shell that survives roaming, sleep, and bad Wi-Fi

A UDP-based remote shell that survives laptop sleep, IP changes, and packet loss. SSH for the initial auth; from then on it's an SSP-protocol stream with predictive local echo. Great alongside tmux.

Mosh UDP Remote Shell
Apr 2025 Dev Tools

Helix: a Rust modal editor with batteries included

Modal editing inspired by Vim and Kakoune, with built-in tree-sitter, multi-cursors, LSP, DAP, and fuzzy file picking — no plugins required. Selection-first model means you always see what you're about to act on.

Helix Editor LSP
Apr 2025 Servers

HashiCorp Nomad: a workload orchestrator that fits in your head

Schedule containers, raw binaries, JARs, and QEMU VMs across a cluster with a single Go binary. Smaller surface area than Kubernetes, multi-region built in, and friendly to non-container workloads.

Nomad HashiCorp Orchestrator
Apr 2025 Dev Tools

TimescaleDB: PostgreSQL that scales for time-series

A PostgreSQL extension that adds automatically-partitioned hypertables, columnar compression, continuous aggregates, and retention policies. Keep ten years of sensor / metric data in plain SQL.

TimescaleDB PostgreSQL Time Series
Mar 2025 Networking

Wireshark + tshark: packet capture and analysis that pays back

The display-filter language worth learning once. Practical capture filters, tshark one-liners for HTTP / DNS / TLS / TCP-analysis, SSLKEYLOGFILE for dev decryption, and remote capture through SSH.

Wireshark tshark Packet Capture
Mar 2025 Servers

Jellyfin: a self-hosted media server without subscriptions

An open-source media server with mobile / TV / browser clients. Library naming conventions, reverse proxy, hardware-accelerated transcoding on Intel / AMD / NVIDIA, per-user permissions, and the *arr companion stack.

Jellyfin Media Server Self-host
Mar 2025 Dev Tools

lazygit: a terminal UI that turns Git into one keystroke per action

A keyboard-driven TUI for Git. Visual hunk staging, interactive rebase without typing the command, cherry-picking from a list, branch management, custom commands. The fastest way from "I want to do X" to "done."

lazygit Git TUI
Mar 2025 Dev Tools

PocketBase: a single-binary backend for small apps

One Go binary with embedded SQLite that gives you auth, a REST + realtime API, file storage, and an admin UI. Define collections, set per-record API rules, plug in OAuth, extend with JS hooks. Prototype-to-production in one process.

PocketBase SQLite BaaS
Feb 2025 Servers

MeiliSearch: typo-tolerant instant search for your app

A Rust search engine that returns ranked, typo-tolerant results in milliseconds. Index documents, configure ranking rules, drop in the Algolia-compatible React/Vue components, and add hybrid lexical + vector search.

MeiliSearch Search Self-host
Feb 2025 Servers

ClickHouse: a column-oriented database that scans billions of rows in seconds

An OLAP database built for "answer a SQL question against very large tables, fast." MergeTree engines, incremental materialized views, Kafka and S3 ingestion, and the query log that's the secret-weapon system table.

ClickHouse OLAP Columnar
Feb 2025 Linux

Linux software RAID with mdadm + LVM

A redundant array on commodity disks via mdadm with LVM layered on top for flexible volumes. RAID-level trade-offs, monitoring, periodic scrub, online grow, and the disk-replacement procedure end-to-end.

mdadm LVM RAID
Feb 2025 Dev Tools

k9s: a terminal UI for Kubernetes that replaces most of kubectl

Interactive TUI for any Kubernetes cluster. Navigate namespaces, follow logs, exec into pods, port-forward, scale and edit resources, run Popeye sanity scans — all from the keyboard, all faster than kubectl.

k9s Kubernetes TUI
Jan 2025 Servers

Plausible: privacy-first self-hosted web analytics

A cookieless GDPR-compliant analytics tool with a 1 KB script. Self-hosted on Postgres + ClickHouse via docker compose, with a polished dashboard, goals, funnels, and the ad-blocker-resistant proxy mode.

Plausible Analytics Privacy
Jan 2025 Servers

Outline: a self-hosted team knowledge base that doesn't feel dated

A Notion-style wiki for teams: realtime collaborative editing on Yjs CRDTs, full-text search, OIDC SSO, granular permissions, and a clean editor. Postgres + Redis + S3 storage backend.

Outline Wiki Knowledge Base
Jan 2025 Dev Tools

OpenTofu: the Linux Foundation fork of Terraform

Drop-in replacement for Terraform under MPL-2.0. Same HCL, same provider plugins, same state file format — plus state encryption at rest, dynamic provider iteration, the removed block, and OCI-registry-backed modules and providers.

OpenTofu Terraform IaC
Jan 2025 Networking

HAProxy: a high-performance TCP and HTTP load balancer

The reliable L4/L7 load balancer behind countless production deployments. TLS termination with HTTP/2 + HTTP/3, backend health checks, sticky sessions, rate limiting, runtime reconfig via Unix socket, and zero-drop reloads.

HAProxy Load Balancer TLS
Dec 2024 Dev Tools

zellij: a modern terminal multiplexer with discoverable bindings

A Rust multiplexer in the tmux / screen category, with keybindings visible on screen, sane defaults out of the box, and KDL-based layout files for reproducible project bootstraps. Pairs cleanly with mosh and SSH.

zellij Multiplexer Terminal
Dec 2024 Servers

Matrix Synapse: self-hosted federated chat

A homeserver for the Matrix protocol — federated, E2E-encrypted real-time chat, voice, and video. Identity-domain delegation, federation health, end-to-end encryption, Element web client, and the bridges to every other chat network.

Matrix Synapse Chat
Dec 2024 Linux

Talos Linux: a Kubernetes-only operating system

An immutable Linux distribution with no shell, no SSH, no package manager — only an API. The whole node configuration is one YAML; upgrades are atomic A/B partition swaps. Operate clusters without touching a config file by hand.

Talos Kubernetes Immutable
Dec 2024 Dev Tools

starship + fish: a sensible shell setup in 10 minutes

A fast cross-shell prompt and a modern shell with auto-suggestions, syntax highlighting, and abbreviations. Per-context info (git, language version, k8s context) without 200 lines of bashrc gymnastics.

starship fish Shell
Nov 2024 Dev Tools

Ansible fundamentals: agentless server config management

Agentless configuration management over SSH. Inventories, idempotent playbooks, roles, handlers, Ansible Vault for secrets, dynamic inventory from NetBox / AWS, and the patterns that scale from one server to a thousand.

Ansible Config Mgmt Playbook
Nov 2024 Networking

Cilium on K3s: replacing kube-proxy with eBPF

An eBPF-based CNI that replaces kube-proxy with in-kernel datapath, adds L7 network policies, WireGuard encryption, and Hubble for live flow observability. Install on K3s, run connectivity tests, and explore real-time service flows.

Cilium eBPF Hubble
Nov 2024 Servers

Nextcloud: self-hosted file sync, calendar, contacts, and collaborative office

The self-hosted answer to Google Drive + Calendar + Contacts + Docs + Photos. AIO container install, app store apps (Talk, Mail, Office, Photos, Deck), CalDAV/CardDAV well-known endpoints, and performance tuning.

Nextcloud File Sync CalDAV
Nov 2024 Servers

NocoDB: a self-hosted Airtable alternative on top of any SQL database

Turn an existing Postgres/MySQL/SQLite schema into spreadsheet, form, kanban, and calendar views, with a REST + GraphQL API auto-generated. Connect to an external database, build views, automate via webhooks.

NocoDB Airtable Alt No-Code
Oct 2024 Networking

PowerDNS Authoritative: a modern API-driven nameserver

An open-source authoritative DNS server with pluggable backends, a clean REST API, first-class DNSSEC, and the PowerDNS-Admin web UI on top. Set up a zone, sign it, transfer to secondaries, and harden the daemon.

PowerDNS DNS DNSSEC
Oct 2024 Linux

Asahi Linux on Apple Silicon: a working desktop on M1/M2/M3/M4 Macs

The reverse-engineered Linux port that boots on Apple Silicon. Run the installer, dual-boot cleanly with macOS, and use the conformant Vulkan GPU driver. Current state of audio, sleep, Thunderbolt, and what's still missing.

Asahi Apple Silicon ARM
Oct 2024 Dev Tools

jq + yq + dasel: shell-friendly JSON, YAML, XML transformations

The three CLIs every shell user should have for structured-data wrangling. jq for JSON, yq for YAML (multi-doc Kubernetes manifests too), dasel for everything-to-everything. The 10 patterns to actually memorize.

jq yq JSON
Oct 2024 Servers

LibreChat: a self-hosted, multi-model ChatGPT-style UI

One web UI in front of OpenAI, Anthropic, Google, Mistral, Bedrock, and local Ollama. Multi-user with OIDC SSO, per-conversation file upload with RAG, tool calls and plugins, and cost tracking via LiteLLM.

LibreChat LLM Chat UI
Sep 2024 Servers

Audiobookshelf: self-hosted audiobooks and podcasts

A self-hosted server for audiobooks, podcasts, and ePubs. Library scanning with cover art and metadata, per-user playback progress sync, automatic podcast episode fetching, and polished mobile apps.

Audiobookshelf Audiobooks Podcasts
Sep 2024 Dev Tools

Pulumi: infrastructure as code in real programming languages

IaC in TypeScript / Python / Go / C# / Java instead of HCL. Same provider ecosystem as Terraform / OpenTofu, but with real loops, types, IDE autocomplete, reusable component classes, and unit-testable infra.

Pulumi IaC TypeScript
Sep 2024 Networking

tcpdump: packet capture from the command line

The packet-capture tool that ships with every Unix. BPF filter syntax, common filtering patterns, capture to pcap for later analysis in Wireshark, and the "what's actually on the wire" mental model that solves most network bugs.

tcpdump BPF Packet Capture
Sep 2024 Networking

MetalLB on K3s: real LoadBalancer services on bare-metal Kubernetes

The missing piece for bare-metal K8s — type: LoadBalancer services that actually get IPs. L2 mode for the LAN, BGP mode for ECMP across nodes, address pools, per-service IP pinning, and the disable-servicelb gotcha on K3s.

MetalLB Kubernetes Load Balancer
Aug 2024 Servers

AnythingLLM: workspace-based RAG with any LLM

A self-hosted LLM frontend organized around document workspaces. Drop in PDFs / sites / Confluence / Notion / audio, get a chat that answers from those documents with inline citations. Works with OpenAI, Anthropic, local Ollama, and more.

AnythingLLM RAG LLM
Aug 2024 Servers

FreshRSS: self-hosted RSS that survived the death of Google Reader

A clean self-hosted RSS / Atom aggregator. OPML import, full-text extraction for excerpt-only feeds, Fever + Google Reader API compatibility so every modern RSS mobile app works against it, plus the RSS-Bridge sidecar.

FreshRSS RSS Self-host
Aug 2024 Dev Tools

PgBouncer: connection pooling for Postgres that pays back instantly

A 2 MB pooler that multiplexes thousands of app connections onto a small backend pool. Session / transaction / statement pooling, the gotchas around prepared statements and LISTEN/NOTIFY, and SCRAM authentication.

PgBouncer PostgreSQL Connection Pool
Aug 2024 Hardware

PiKVM: KVM-over-IP for the homelab on a Raspberry Pi

A ~$100 Raspberry Pi setup that gives full BIOS-level remote access: video, keyboard, mouse, mountable virtual ISO, ATX power control. The IPMI / iDRAC / iLO equivalent for consumer hardware that doesn't have one.

PiKVM KVM-over-IP Raspberry Pi
Jul 2024 Dev Tools

Tilt: a fast inner-loop dev environment for Kubernetes

Code → save → see the change running in K8s in under 5 seconds. File watching, image rebuild + live-update into running pods, live dashboard. The missing piece between "build and apply" and "actually iterate."

Tilt Kubernetes Live Reload
Jul 2024 Servers

Penpot: a self-hosted Figma alternative for design + prototyping

An open-source web-based design tool that runs on your own server. SVG-native files, real-time collaboration, components and libraries, design tokens, prototypes, a plugin API. The only Figma-class option that isn't a SaaS.

Penpot Design Figma Alt
Jul 2024 Servers

CockroachDB: a distributed Postgres-compatible SQL database

Horizontally-scalable SQL on Raft + range-sharded KV, with the Postgres wire protocol. Multi-region active-active, strict serializable transactions, online schema changes. Bootstrap a 3-node cluster and migrate from Postgres.

CockroachDB Distributed SQL Multi-region
Jul 2024 Dev Tools

just: the task runner that should replace your Makefile

A Rust task runner with Makefile-shaped syntax, minus the tabs-vs-spaces footguns. Recipes, parameters, dependencies, dotenv loading, OS-conditional logic, and a friendly --list. Migrate from Make in 10 minutes.

just Task Runner Make Alt
Jun 2024 Networking

iperf3 + flent: throughput and bufferbloat benchmarking

Raw throughput with iperf3, but the number that matters more — latency under load (bufferbloat) — with flent's RRUL test. Read the output the way it was meant to be read, then fix bufferbloat with CAKE / fq_codel.

iperf3 flent Bufferbloat
Jun 2024 Servers

Beszel: lightweight server monitoring without the Grafana stack

A tiny Go-based monitoring system: one hub + one agent per host, clean web UI, Docker container metrics built in, email/webhook alerts. ~30 MB RAM per host. The right pick when Prometheus + Grafana is genuinely too much.

Beszel Monitoring Self-host
Jun 2024 Servers

Redpanda: a Kafka-compatible streaming platform in one binary

A drop-in Kafka API replacement in C++. No JVM, no ZooKeeper, no separate Schema Registry. Lower P99 latency, smaller footprint, native S3 tiered storage. Most existing Kafka clients work unchanged.

Redpanda Kafka Streaming
Jun 2024 Networking

NATS + JetStream: lightweight messaging with at-least-once + KV + Object Store

A tiny Go binary that does pub/sub, request/reply, work queues, persistent streams, KV buckets, and S3-like object storage on one connection. Microseconds of LAN latency; trivially debuggable text-based protocol.

NATS JetStream Messaging
May 2024 Servers

Dagster: asset-graph thinking for data pipelines

An orchestrator that models data assets — tables, ML models, dashboards — as first-class, not the tasks that produce them. Software-defined assets, type-checked I/O, partitioned data, automation conditions, first-class dbt support.

Dagster Data Pipeline dbt
May 2024 Linux

systemd timers: the cron replacement that's been quietly winning

Timer units, OnCalendar syntax, RandomizedDelaySec for fleet-wide staggering, Persistent= for missed-run catchup, template instances, sandboxing, and journal-integrated logging that makes failures actually visible.

systemd Timers cron alt
May 2024 Dev Tools

Verdaccio: a private npm registry in 5 minutes

A lightweight self-hosted npm registry that's also a caching proxy for the public registry. Scoped private packages, htpasswd/OIDC auth, CI-friendly tokens. Five minutes from zero to a working internal registry.

Verdaccio npm Registry
May 2024 Servers

PostgreSQL HA with Patroni: automated failover, done right

A 3-node Postgres cluster with automatic leader election, synchronous replication, and clean failover via Patroni + etcd, fronted by HAProxy for transparent client routing. Plus WAL-G to S3 for point-in-time recovery.

Patroni PostgreSQL HA
Apr 2024 Dev Tools

chezmoi: dotfile management across many machines

A Go binary that manages your dotfiles in Git, templated per-machine, with native secret integration (1Password, Bitwarden, Vault, KeePassXC). One repo, many machines, OS-conditional configs, secrets that never enter Git.

chezmoi Dotfiles Templates
Apr 2024 Networking

mDNS / Avahi: zero-config name resolution for the LAN

Why your printer is reachable at printer.local and how to make every Linux box on the LAN do the same. Avahi setup, mDNS host publishing, DNS-SD service discovery, and the .local + corporate-DNS pitfalls.

Avahi mDNS DNS-SD
Apr 2024 Linux

WSL 2: a working Linux dev environment inside Windows

Install + configure WSL 2 properly: the .wslconfig settings that matter, systemd, mirrored networking, GPU passthrough for ML, why source code belongs in the Linux filesystem (not /mnt/c), and SSH-into-WSL.

WSL 2 Windows Dev Env
Apr 2024 Servers

Healthchecks: self-hosted cron-job monitoring

Each scheduled task pings a unique URL on success; if a ping doesn't arrive in the expected window, you get alerted. The fix for "the backup script has been broken for three weeks and nobody noticed." Plus runitor for one-line wrappers.

Healthchecks Cron Monitoring Alerts
Mar 2024 Dev Tools

LiteLLM: one OpenAI-shaped endpoint in front of every LLM provider

A self-hosted proxy that turns 100+ LLM providers into one OpenAI-compatible endpoint. Centralized keys, per-team budgets and rate limits, fallback chains, cost tracking. The right place to put your org's LLM bill.

LiteLLM LLM Gateway OpenAI API
Mar 2024 Linux

Distrobox: any Linux distro inside any other

Run Ubuntu in Fedora, Arch in Debian, RHEL in NixOS — with $HOME mounted, GUI apps passed through to the display, and host commands exportable. Containerized distros without the isolation overhead.

Distrobox Containers Podman
Mar 2024 Servers

Ceph at homelab scale: distributed storage you can actually run

cephadm bootstraps a 3-node cluster from one command. RBD block, CephFS POSIX filesystem, and S3-compatible RGW from the same pool. Self-healing replication; the storage layer for serious homelabs.

Ceph Distributed Storage CephFS
Mar 2024 Dev Tools

Atuin: shell history that syncs across machines with full search

A SQLite-backed replacement for shell history with fuzzy search, per-directory + per-machine context, and E2E-encrypted sync via a self-hosted server. Yesterday's command from another laptop is now searchable here.

Atuin Shell History Sync
Feb 2024 Servers

External Secrets Operator: bridge Vault / AWS / 1Password into Kubernetes

Stop committing base64-encoded secrets to Git. ESO syncs from Vault / AWS Secrets Manager / 1Password / Bitwarden / Azure Key Vault into native K8s Secrets. The right secrets shape for GitOps.

ESO Kubernetes Secrets
Feb 2024 Servers

Linkerd: a lightweight Kubernetes service mesh

Rust-based service mesh that adds mTLS, retries, traffic splitting, L7 metrics, and per-server authorization with a tiny per-pod sidecar. CNCF-graduated, much simpler than Istio. The right pick for most teams that want mesh benefits.

Linkerd Service Mesh mTLS
Feb 2024 Dev Tools

Lefthook: a fast Git hooks manager

A Go binary that runs pre-commit / pre-push / commit-msg checks in parallel, per-language, with per-file filtering. Faster than pre-commit, simpler than husky, no Python or Node runtime dependency.

Lefthook Git Hooks Lint
Feb 2024 Linux

rsync --link-dest: snapshot-style backups in one binary

The classic deduplicating-backup pattern with rsync + hard links. Each snapshot looks like a full copy; unchanged files share inodes. No external tool, no encrypted format — just standard Unix you can restore with cp forever.

rsync Snapshot Backups Hard Links
Jan 2024 Networking

OpenSSH: a chrooted SFTP-only user that can't shell out

Give a vendor / customer / third party file access to one directory via SFTP with no shell, no SSH commands, no escape. The Match Group recipe, the unforgiving ChrootDirectory ownership rule, pubkey auth, and the pattern that doesn't bite later.

OpenSSH SFTP Chroot
Jan 2024 Dev Tools

vLLM: production-grade local LLM serving

GPU inference server with continuous batching, PagedAttention, structured output guidance, prefix caching, and 5-20× the throughput of Ollama on the same hardware. The right shape for serving LLMs at production scale.

vLLM LLM Serving GPU
Jan 2024 Dev Tools

Helm: the Kubernetes package manager

The de-facto way to install and upgrade applications on Kubernetes. Charts, values overrides, templating, hooks, the OCI distribution model, plus when to reach for Kustomize instead. Required ops vocabulary.

Helm Kubernetes Charts
Jan 2024 Servers

Kyverno: policy as code for Kubernetes

Admission control without writing Go or learning Rego. Validate / mutate / generate / verify-images all in pure YAML. CNCF-graduated; the simpler counterpart to OPA Gatekeeper.

Kyverno Policy Admission
Dec 2023 Networking

iSCSI: block storage over the LAN

Expose a disk over TCP/IP so a remote client treats it like local. Linux LIO target + open-iscsi initiator, CHAP auth, multipath for HA, and the concurrent-mount caveat that bites people the moment they try to share one LUN.

iSCSI Block Storage SAN
Dec 2023 Linux

systemd-resolved: the modern Linux DNS resolver

The default stub resolver on most Linux distros now. Per-link DNS, DoT to public resolvers, in-process caching, mDNS, split-DNS for VPN scopes. Plus how to actually debug when /etc/resolv.conf is a symlink to a stub.

systemd-resolved DNS DoT
Dec 2023 Dev Tools

devbox: per-project Nix-based dev shells without learning Nix

Declare a project's dev environment in JSON — Node 22, Python 3.13, Postgres 16, ripgrep — and devbox wraps it in a pinned Nix shell that activates on cd. Same versions across every laptop, no Nix syntax required.

devbox Nix Dev Env
Nov 2023 Servers

Proxmox VE: the homelab hypervisor that eats ESXi's lunch

Debian-based hypervisor with KVM for VMs, LXC for containers, ZFS / Ceph / NFS storage, a clean web UI, and clustering for HA. Install, configure storage, build VMs and templates, plus ZFS replication for cheap-HA without Ceph.

Proxmox Hypervisor KVM
Nov 2023 Dev Tools

Renovate self-hosted: automated dependency-update PRs

Auto-PRs for npm / pip / Cargo / Go / Docker / Helm / Terraform / GitHub Actions across 60+ ecosystems. Self-host against GitHub / GitLab / Gitea; group, schedule, automerge with merge-confidence.

Renovate Dep Updates Self-host
Nov 2023 Dev Tools

Kustomize: Kubernetes overlays without templating

Built into kubectl -k. Base manifests + per-environment overlays with patches; no Go templates, no {{ }}. The right shape for "small number of envs with a few diffs each" — or paired with Helm via helmCharts:.

Kustomize Kubernetes Overlays
Nov 2023 Networking

dnsmasq: the tiny DHCP + DNS forwarder that runs everything

A ~200 KB binary that does DHCP, DNS forwarding, TFTP, PXE booting, IPv6 RA, and DNS hijacking. The thing inside OpenWrt routers, Pi-hole, libvirt, and most embedded gear. Configure LAN DHCP + local-DNS with one config file.

dnsmasq DHCP DNS
Oct 2023 Servers

Velero: Kubernetes cluster backups + PV snapshots

Back up cluster state + persistent volumes to S3 / MinIO. CSI snapshots or file-level copy via Kopia / Restic. Restore, schedule, migrate clusters. Plus pre/post hooks for quiescing databases mid-backup.

Velero K8s Backup PV Snapshot
Oct 2023 Servers

Incus: LXC system containers + KVM on any Linux host

The community fork of LXD: system containers (full distros) + KVM VMs from one CLI, on any Linux distro — no dedicated hypervisor OS required. Snapshots, profiles, clustering, live migration.

Incus LXC KVM
Oct 2023 Servers

step-ca: a self-hosted internal certificate authority

Smallstep's open-source CA: short-lived TLS for internal services, mTLS client certs, plus first-class SSH user / host certificates. ACME-compatible — existing cert-manager / Caddy / certbot clients work unchanged.

step-ca CA mTLS
Oct 2023 Dev Tools

age: modern file encryption with one binary

A small, modern encryption tool by Filippo Valsorda. Encrypt to passphrase, an age public key, or directly to someone's SSH public key from GitHub. Pairs cleanly with SOPS for in-Git secrets.

age Encryption SOPS
Sep 2023 Dev Tools

k6: load testing in JavaScript

Go-based load tester with JavaScript test scripts. Thresholds-as-assertions, scenario-based load shaping, native Prometheus / InfluxDB export. The modern wrk + Locust replacement in 2026.

k6 Load Testing Performance
Sep 2023 Linux

Tang + Clevis: LUKS auto-unlock on the trusted LAN

Network-Bound Disk Encryption: LUKS volumes auto-unlock at boot if (and only if) a Tang server on the LAN is reachable. Stolen drive can't decrypt off-network; rack reboots still unattended.

Tang Clevis NBDE
Sep 2023 Dev Tools

OpenCost: Kubernetes cost monitoring per namespace / workload

CNCF-incubating cost tool: real $$ per pod / deployment / namespace / label, with cloud-provider pricing or a custom price book for on-prem. Prometheus metrics + web UI + API for per-team chargeback.

OpenCost Kubernetes FinOps
Sep 2023 Servers

Memos: a self-hosted note + journal in one binary

A lightweight self-hosted notes app: timeline-style memos with markdown, tags, links, attachments. One Go binary + SQLite; iOS/Android apps; clean Twitter-shaped UI for thought capture without ceremony.

Memos Notes Self-host
Aug 2023 Servers

Falco: runtime security for Kubernetes with eBPF

CNCF-graduated runtime threat detection. eBPF-tapped syscalls fed through declarative rules: shell-in-container, suspicious file access, crypto-miner names, privilege escalations. Real-time alerts via Falcosidekick.

Falco Runtime Security eBPF
Aug 2023 Networking

nftables: the modern Linux firewall (iptables successor)

One unified tool for IPv4 / IPv6 / ARP / bridge filtering. Named sets for O(1) lookups, atomic ruleset replacement, saner syntax than iptables. The right thing to write fresh Linux firewall rules in.

nftables Firewall Netfilter
Aug 2023 Dev Tools

mkcert: instant locally-trusted TLS for dev

One command. mkcert creates a local CA trusted by your machine + browsers, then issues valid certs for any hostname. No more "Your connection is not private" warnings on local HTTPS dev.

mkcert TLS Local Dev
Aug 2023 Linux

systemd-nspawn: containers without Docker

systemd's built-in lightweight container runtime. Boot another distro's userspace in a namespace, manage with machinectl, no extra runtime to install — it's already on every systemd Linux.

systemd-nspawn machinectl Containers
Jul 2023 Dev Tools

Woodpecker CI: lightweight CI for Forgejo / Gitea / GitHub

A small Go CI system (community Drone fork). YAML pipelines, container steps, server + N agents, Kubernetes backend optional. Default CI for self-hosted Git forges in 2026.

Woodpecker CI Drone Fork
Jul 2023 Hardware

smartmontools: read SMART data, predict disk failures

Read SMART attributes from any disk (HDD, SATA SSD, NVMe), schedule self-tests, run smartd to email warnings before drives die. The thing that should be on every homelab box; the attributes that actually predict failure.

smartmontools SMART Disk Health
Jul 2023 Servers

VictoriaMetrics: a faster, denser Prometheus-compatible TSDB

A Prometheus drop-in replacement — 10x denser compression, faster queries on long ranges, native multi-tenancy, optional cluster mode. Same scrape configs, same PromQL (plus MetricsQL extensions).

VictoriaMetrics TSDB PromQL
Jul 2023 Networking

dnscrypt-proxy: encrypted upstream DNS with one binary

A local stub resolver that encrypts every query upstream via DNSCrypt v2 / DoH / DoT / Anonymized DNS. Curated resolver list, per-domain forwarding, blocklists, and DNS-level privacy on hostile networks.

dnscrypt-proxy DoH DoT
Jun 2023 Servers

Argo Workflows: Kubernetes-native DAG engine

CNCF-graduated job + DAG orchestrator running entirely as Kubernetes CRDs. Each step is a container; templates compose into multi-step workflows with parameters, artifacts, retries, conditionals. Used for ML, CI, ETL, batch.

Argo Workflows DAG Pipelines
Jun 2023 Dev Tools

Cosign + Sigstore: sign container images without managing keys

Keyless signing via OIDC identities (GitHub Actions, etc.) and public transparency log. Sign images, blobs, attestations and SBOMs; verify via Kyverno admission policies. The standard for supply-chain integrity in 2026.

Cosign Sigstore Supply Chain
Jun 2023 Servers

SilverBullet: a self-hosted markdown notes engine with first-class queries

Markdown notes where every page is also a database row. Frontmatter, hashtags, embedded query blocks for dynamic tables. TypeScript plugin system. The closest thing to self-hosted Obsidian for power users.

SilverBullet Wiki Markdown
May 2023 Linux

PowerShell on Linux: a serious cross-platform scripting alternative

PowerShell Core runs natively on Linux + macOS. Object pipelines instead of text streams, real types, .NET access, plus the canonical tool for managing Windows / Azure from a Linux host. Worth knowing alongside bash.

PowerShell pwsh Cross-platform
May 2023 Dev Tools

kubectl + krew: the plugins that make kubectl bearable

krew is the official kubectl plugin manager. Install ctx + ns + neat + tree + node-shell + view-secret + sniff and kubectl stops being a verbose log-spammer. The must-have plugins after one hour of adoption.

kubectl krew Plugins
May 2023 Dev Tools

Forgejo: a community-driven self-hosted Git forge

The community fork of Gitea. A small Go binary that hosts repos, issues, PRs, packages, releases, an OCI registry, and CI via Forgejo Actions (GitHub-compatible). Install in 10 minutes on hardware that fits in your hand.

Forgejo Git Forge Actions
May 2023 Servers

Argo Rollouts: progressive delivery for Kubernetes

Canary, blue-green, weighted traffic, automatic rollback on metric regression. Drop-in replacement for Deployment as a Rollout CRD; integrates with Istio / Linkerd / Cilium / nginx for actual traffic shaping.

Argo Rollouts Canary Blue-Green
Apr 2023 Dev Tools

rqlite: a distributed-consensus SQL database built on SQLite

Wraps SQLite in a Raft cluster: 3+ nodes synchronously replicate writes; strong consistency; HTTP API; multiple language clients. Between Litestream's "one writer + replication" and Postgres's heft. The right size for HA config / control-plane data.

rqlite SQLite Raft
Apr 2023 Linux

bcachefs: the modern Linux copy-on-write filesystem

Mainline-merged CoW FS with ZFS-style features (snapshots, checksums, compression, encryption) plus built-in tiered storage: small fast SSD transparently caches a large slow HDD pool. The current 2026 stability picture + where it fits vs ZFS / Btrfs.

bcachefs CoW Tiered Storage
Apr 2023 Servers

Karakeep: a bookmark archiver that actually saves the content

Self-hosted "save this for later" with full-content extraction, full-page screenshots, OCR on images, and LLM auto-tagging. Mobile apps + browser extensions + REST API. The Pocket-replacement for self-hosters.

Karakeep Bookmarks Archive
Apr 2023 Servers

Grafana Tempo: distributed traces backend

The traces piece of the Grafana stack. Ingest OTLP / Jaeger / Zipkin spans, store on S3 / MinIO, query via TraceQL. Auto-generates span metrics + service graphs as a free observability bonus.

Tempo Traces TraceQL
Mar 2023 Networking

Kubernetes Gateway API: the modern successor to Ingress

Properly-typed, role-separated CRDs (GatewayClass, Gateway, HTTPRoute / GRPCRoute / TCPRoute) replacing annotated Ingress YAML. Portable across implementations. First-class gRPC + TCP + TLS routing.

Gateway API Kubernetes HTTPRoute
Mar 2023 Servers

Garage: lightweight distributed S3-compatible storage

Rust S3-compatible store designed for asymmetric, geo-distributed deployments. Replicate buckets across 3 cities over regular internet, with WAN-friendly semantics. Between MinIO (LAN-first) and Ceph (heavy ops).

Garage S3 Geo-replication
Mar 2023 Dev Tools

LiteFS: SQLite replication via FUSE for multi-region apps

FUSE filesystem that replicates SQLite databases across nodes. Single-writer + N read replicas in N regions; local reads, sub-second lag; lease-based leader election. The Fly.io-popularized pattern for read-heavy SQLite at scale.

LiteFS SQLite FUSE
Mar 2023 Networking

NetBird: a self-hosted WireGuard mesh with OIDC + ACLs

Open-source Tailscale-shaped mesh: self-hostable control plane, OIDC SSO first-class, group-based ACLs, NAT traversal coordinated by signal server. Clients for every major OS. The right size for mid-team self-hosted mesh.

NetBird WireGuard Mesh VPN
Feb 2023 Servers

TriliumNext: hierarchical notes with relations and scripting

Self-hosted notes in a tree, with attributes + relations forming a graph on top. Code notes that execute against the database. Templates, per-note encryption, desktop + server sync. The powerful end of personal knowledge bases.

Trilium Notes Hierarchy
Feb 2023 Servers

VictoriaLogs: lightweight log storage from the VictoriaMetrics team

Small Go-based log DB; ~10x smaller than Elasticsearch / 3-5x smaller than Loki on the same data. LogsQL pipeline queries with extract / stats / top operators. Ingest via Loki / OTLP / Elasticsearch bulk / syslog / JSON.

VictoriaLogs LogsQL Loki Alt
Feb 2023 Linux

NFSv4 fundamentals: modern Unix file sharing

NFSv4 fixed v3's pain: single TCP port, real ACLs, Kerberos, stateful locking. The canonical Unix-to-Unix file share. Server-side exports, client mounts, performance tuning, the v4.2 features worth knowing.

NFS NFSv4 File Sharing
Jan 2023 Networking

Tor onion services: expose without a public IP or DNS

Give a service a reachable .onion address without public DNS, public IP, or open firewall ports. E2E encrypted; useful behind CGNAT. Vanity addresses, client-auth-gated private services, when to use it vs Cloudflared tunnels.

Tor Onion Service CGNAT
Jan 2023 Networking

HashiCorp Boundary: zero-trust access proxy to internal targets

Per-session access to specific targets instead of "VPN into the network and SSH anywhere." Vault-minted short-lived credentials, OIDC at the front, per-session audit log. Targets never need public IPs.

Boundary Zero Trust Vault
Jan 2023 Servers

Samba: SMB file sharing for Windows + macOS clients

The canonical Linux SMB server for mixed-OS LANs. SMB 3.x default, per-user auth, vfs_fruit for macOS metadata + Time Machine targets, Avahi advertisements for Finder discovery. The modern config without 1990s baggage.

Samba SMB Time Machine
Jan 2023 Linux

systemd-homed: portable, encrypted home directories

User home directories as encrypted LUKS images / btrfs subvolumes / fscrypt dirs that you can move between machines. FIDO2 / smart-card auth, recovery keys, the user record carrying its own metadata. Modern Linux home dirs done right.

systemd-homed homectl Encrypted
Dec 2022 Dev Tools

Dex: a lightweight OIDC provider for federating existing identity sources

A small Go OIDC IdP that doesn't store users — federates to upstream backends (LDAP / GitHub / SAML / Google / Microsoft). The canonical kubectl-OIDC bridge; vastly lighter than Keycloak / Authentik when you already have an IdP.

Dex OIDC K8s Auth
Dec 2022 Servers

MariaDB Galera: synchronous multi-master MariaDB

Synchronous certification-based replication across 3+ nodes. Writes commit on majority; reads + writes from any node; lose one node, cluster keeps running. The canonical HA MariaDB / MySQL setup when Postgres isn't an option.

MariaDB Galera HA SQL
Dec 2022 Dev Tools

stern: multi-pod / multi-container log tail for Kubernetes

The tail -f for Kubernetes that kubectl logs should have shipped with. Tails N pods matching a label / regex, color-codes per pod, auto-follows new pods during rollouts. Live-debugging without writing scripts.

stern kubectl Log Tail
Dec 2022 Servers

Authelia: forward-auth SSO + 2FA in front of any reverse proxy

A small Go SSO portal that integrates with nginx / Traefik / Caddy / HAProxy via forward-auth. Apps stay unmodified; Authelia handles login + TOTP / WebAuthn / Duo + per-resource access rules. Optional limited OIDC mode.

Authelia Forward Auth 2FA
Nov 2022 Servers

Apache Airflow: data pipeline orchestration via Python DAGs

The elder of data orchestration. Python DAGs, the scheduler, the largest operator ecosystem (every cloud / DB / SaaS), CeleryExecutor / KubernetesExecutor for scale. Still the canonical pick for "scheduled batch across many systems."

Airflow DAG Data Pipelines
Nov 2022 Networking

Knot DNS: a modern authoritative DNS server

CZ.NIC's authoritative DNS. Single C binary, file-based zones, automatic DNSSEC key rollover, catalog zones for many domains, kdig as a saner dig. The PowerDNS alternative that prefers zone files over a database.

Knot DNS DNSSEC Authoritative
Nov 2022 Dev Tools

Vector: high-perf log + metrics pipeline from Datadog

Rust-based observability pipeline: sources / transforms / sinks composed in TOML. VRL (Vector Remap Language) for fault-tolerant in-flight log shaping. Faster than Logstash / Fluentd; lighter than the OTel Collector for log-heavy pipelines.

Vector Log Pipeline VRL
Nov 2022 Networking

AdGuard Home: modern Pi-hole alternative with DoH / DoT / DoQ

Go-based LAN DNS ad-blocker with native encrypted-upstream support, per-client policies, parental controls, integrated DHCP. One binary, polished web UI. The smoother fresh install for self-hosted DNS blocking in 2026.

AdGuard Home DNS Blocker DoQ
Mar 2024 Servers

Change the default PHP version in OpenLiteSpeed

Swap the lsphp binary behind the LiteSpeed SAPI App. Three-click webadmin change, plus why a hard reboot is worth the two minutes.

OpenLiteSpeed PHP lsphp
Sep 2021 Linux

In-place ext4 → Btrfs conversion on Arch (and others)

Convert an existing root filesystem to Btrfs without reinstalling. Includes fstab/UUID updates, rebuilding GRUB from a chroot, and optional Snapper-based automated snapshots.

Btrfs ext4 Arch Snapper
Aug 2021 Linux

Linux network sysctl tuning cheat sheet

A reference sysctl.d drop-in for TCP throughput: window scaling, MTU probing, TCP-Illinois congestion control, sane buffer sizes. What each knob does and when not to set it.

sysctl TCP Performance
Aug 2021 Linux

Bridged VM networking with virt-manager & gnome-boxes on Arch

Let the host talk directly to VM guests on a shared subnet. QEMU bridge helper, libvirt polkit rule, virbr0 setup — and what actually needs root.

QEMU/KVM libvirt Arch
Apr 2021 Dev Tools

A Firefox + Selenium scraper on Linux, start to finish

From apt install python3 to a working scraper: virtualenv, geckodriver, login flow, pagination, and the modern Selenium 4 API (which deprecated find_element_by_*).

Python Selenium Firefox
Mar 2021 Servers

Automatic security updates on Amazon Linux

Amazon Linux doesn't enable unattended security updates by default. A short walkthrough of yum-cron, versionlock, and why AL2023 needs the dnf variant.

AWS EC2 yum-cron
Mar 2021 Linux

Mount an S3 bucket as a folder with s3fs

A minimum-viable S3-as-a-filesystem setup on Ubuntu. When it's the right tool, when rclone mount is better, and how to make it survive a reboot.

S3 s3fs FUSE
Mar 2021 Linux

Microsoft Teams on Linux, and taming the audio stack

The original Linux Teams client is long deprecated — here's what to do now (PWA / teams-for-linux), plus why pavucontrol is still the fastest fix for device-selection gremlins.

Teams PulseAudio PipeWire
Feb 2021 Dev Tools

Actually see what's inside a Java collection in IntelliJ

The default debugger view hides the real fields of a collection. One settings toggle reveals them — indispensable when you've written your own Map or List.

IntelliJ Java Debugger
Jan 2021 Networking

OpenVPN on Ubuntu with Streisand

Streisand turns a raw VPS into a multi-protocol VPN in one Ansible run. How to use the sensible subset (OpenVPN + optional WireGuard) and connect a Windows client.

OpenVPN Streisand Ansible
Jan 2021 Hardware

A toolbox of Windows repair & maintenance scripts

DISM, SFC, long-path support, Windows Store recovery, memory-compression toggle — a collection of one-shot fixes for the weirdness that accumulates in long-lived Windows installs.

Windows DISM PowerShell
Dec 2020 Servers

GitBucket: a JVM-based self-hosted GitHub clone

When GitLab is too heavy, GitBucket is often the right fit — one .war file, JVM-native, runs happily behind an OpenLiteSpeed reverse proxy. Full setup including SSL and systemd.

GitBucket Scala JVM
Nov 2020 Linux

Fix broken auto-rotation on convertibles & tablets

When the accelerometer is mounted in an unusual orientation, GNOME ends up rotating the screen the wrong way. A hwdb drop-in with the right mount matrix fixes it for good.

Ubuntu udev iio-sensor-proxy
Nov 2020 Servers

Self-hosted GitLab CE behind OpenLiteSpeed

Run GitLab alongside an existing OpenLiteSpeed site without fighting its bundled nginx/puma. External URL, shared Let's Encrypt cert, proxy context — the working path after two days of wrong paths.

GitLab CI/CD Debian
Nov 2020 Servers

Run modern Ruby + Rails on OpenLiteSpeed via LSAPI

Debian's packaged Ruby is too old for most Rails apps. rbenv + ruby-build gives you any version you want, and the OpenLiteSpeed LSAPI shim lets it serve fast without nginx in front.

Ruby Rails rbenv LSAPI
Oct 2020 Servers

Mirror a site to a new VPS in three lftp commands

For server migrations, lftp mirror over SFTP is far simpler than tar-over-SSH or rsync — it resumes, parallelizes, and handles pickup after a dropped connection. A one-page reference.

lftp SFTP Migration
Oct 2020 Hardware

Unbrick a laptop BIOS with a CH341A programmer

Last-resort revival for an ASUS laptop that won't POST. SOIC-8 test clip, AsProgrammer, reading an MX25L12873F, and why the vendor's official BIOS file won't work directly.

BIOS CH341A EEPROM
Oct 2020 Hardware

Fix Winload.EFI and other Windows 10/11 boot failures

Why Windows ends up with a single boot-loader across drives, and the exact bcdboot / diskpart sequence that rebuilds it on the correct disk when things go sideways.

Windows BCD UEFI
Sep 2020 Servers

Recommended security HTTP headers for OpenLiteSpeed

A sensible HSTS / CSP / X-Frame-Options / Referrer-Policy baseline applied via a vhost Context. Scores A+ on securityheaders.com and explains what each header actually defends against.

OpenLiteSpeed HSTS CSP
Jun 2020 Linux

Mount (or mirror) OneDrive on Linux with rclone

OneDrive has no official Linux client. rclone's OAuth flow, VFS cache modes, and remote-auth trick for headless servers — everything you need to get files off a dying free tier.

rclone OneDrive FUSE
Jun 2020 Linux

Install Firefox via Flatpak (and why you'd want to)

A four-command quickstart, plus the real reason Flatpak matters on server desktops: sandboxing, an up-to-date browser on old distros, and zero interference with the system package manager.

Flatpak Firefox Sandboxing
Mar 2020 Networking

A minimal WireGuard server & Windows client

Keypair generation, iptables MASQUERADE, full-tunnel routing from a Windows client. Straightforward modern setup — no wg-easy, no UI, just a config file you can actually read.

WireGuard Debian iptables
Mar 2020 Servers

OpenLiteSpeed full stack: PHP, MariaDB, Let's Encrypt, phpMyAdmin, NinjaFirewall

A complete web-server build from a blank Debian VPS — including the vhost symlink trick, SNI-safe certbot layout, and the forced-HTTPS rewrite rule. My longest tutorial.

OpenLiteSpeed MariaDB Let's Encrypt phpMyAdmin
Mar 2020 Hardware

Getting the XIDU PhilBook Max working on Linux

A misidentified touchpad, a deadlocked touchscreen, and a rotation matrix that points the wrong way. Two work-days of head-scratching condensed into a recipe that actually works.

Linux Touchpad i2c-hid
Feb 2019 Networking

A headless Debian desktop with TightVNC over SSH

XFCE on a VPS, multi-user VNC, an SSH tunnel so the traffic isn't clear-text — and a systemd-era rewrite of the old init.d VNC service script. Plus when to reach for X2Go instead.

VNC XFCE SSH
Jan 2019 Dev Tools

PeerBlock 1.1 rebuild with HTTPS list support

The abandoned Windows IP-filter app shipped with an HTTP-only libcurl. Here's the story of rebuilding it against a modern SSL-enabled libcurl — and what to actually use in 2025.

Windows libcurl Legacy