Lexicanum
Notes and references on the stuff I actually run. Each entry is a deep-dive: implementation steps, real configs, the failure modes I hit along the way. Guides are task-sequenced how-tos; reference docs explain how a system works and which option to pick. / searches everything.
Supabase
Where tenants live, what they cost, and how to move them - the largest cluster here.
All Supabase docs (68)
- A backend-for-frontend fan-out on Supabase Edge Functions
- Build a public-record entity graph on managed Postgres
- Consolidating one Supabase project per customer onto a shared project
- Detach a Supabase branch from its git branch without deleting it
- Measure a Postgres change with pg-analyser bench
- Migrate a Supabase project to another region, end to end
- Migrating a static MongoDB archive into Postgres with the Supabase MongoDB wrapper
- Monitor Supabase with Grafana: dashboards and alerting
- Moving Supabase projects under one organization
- Per-project cost attribution on Supabase
- Promoting a tenant to its own Supabase project
- Put an IAP over the Supabase Data API
- Query Supabase project logs through the Management API after logs.all
- Run your own PostgREST against a Supabase project
- Running a platform on the Supabase Management API
- Running many tenants on one Supabase project
- Set up AWS PrivateLink to Supabase with OpenTofu
- Supabase preview-branch compute sizing & a CI parity model
- Supabase resilience runbook: probes, TTL levers, edge cache, warm standby
- Trusted-device MFA and impersonation audit trails on Supabase Auth
- Upgrade a Supabase project to a new Postgres major version, end to end
- @supabase/server auth modes on Edge Functions and WorkersREFERENCE
- Auditing Supabase: where each copy of an event lives, and who can erase itREFERENCE
- AWS PrivateLink to Supabase: an architecture referenceREFERENCE
- CipherStash on Supabase: EQL grants, the supabase-js wrapper and ZeroKMSREFERENCE
- Cloudflare Workers + Supabase: an architecture referenceREFERENCE
- Deleting a Supabase wrapper in the Dashboard: what one row's drop takes with itREFERENCE
- Edge Function limits, one ceiling at a timeREFERENCE
- Entity graphs on managed PostgresREFERENCE
- Foreign keys to auth.users: the lock that freezes sign-in, and the NOT VALID pathREFERENCE
- Locking down Supabase: the database is the security boundaryREFERENCE
- Migrating PBKDF2 password hashes into Supabase AuthREFERENCE
- Multigres OSS failover: what a client seesREFERENCE
- One envelope-encrypted app on managed and self-hosted SupabaseREFERENCE
- OrioleDB on Supabase: what hosted projects do differentlyREFERENCE
- pg_cron on Supabase: restarts, resizes, COMMIT in a job and run history, measuredREFERENCE
- pg_net on Supabase under load: timeouts, batches and delivery, measuredREFERENCE
- pgjdbc and HikariCP on Supabase connection pathsREFERENCE
- pgmig: what a logical-replication move carries, and the gates around itREFERENCE
- Postgres full-text search: ranking only what the rare words matchREFERENCE
- Redundant writes in Postgres: what an unchanged upsert costsREFERENCE
- RLS policy cost, measuredREFERENCE
- RLS without Supabase Auth: JWT claims over the wireREFERENCE
- Self-hosted Supabase Docker defaults in 2026REFERENCE
- Static site hosting on SupabaseREFERENCE
- Stripe Sync Engine: schema projection, version drift, and the FDW alternativeREFERENCE
- Supabase Auth end to end: tokens, trust, and what you can take in-houseREFERENCE
- Supabase Auth providers: custom OIDC, passkeys, SAML and a sign-in canaryREFERENCE
- Supabase CLI 2.120.0: pg-delta vs migra, config pull and the no-Docker stackREFERENCE
- Supabase compute and disk sizingREFERENCE
- Supabase Data API connection pool and capacity, measuredREFERENCE
- Supabase data residency and sovereigntyREFERENCE
- Supabase disaster recovery tiers: daily backups, PITR, warm standby - RPO, RTO, and costREFERENCE
- Supabase incidents: what a client can do - a resilience referenceREFERENCE
- Supabase logs volume: what each request writes, and which Postgres settings add to itREFERENCE
- Supabase observability surface: trace headers, health advisors, log sourcesREFERENCE
- Supabase Pipelines (public alpha): what a PAT reaches and how the engine replicatesREFERENCE
- Supabase read replicas: how requests reach them and what they costREFERENCE
- Supabase Realtime: filters, disconnect loss, Broadcast Replay and binaryREFERENCE
- Supabase Storage image transformations: billing, runtime behaviour, and the abuse surfaceREFERENCE
- Supabase Storage large objects: multipart, ranges, conditionals, CDN and TUSREFERENCE
- Supabase Storage surface: direct SQL deletes, list pagination, S3 key handlingREFERENCE
- Temporary token-based database access (JIT): grants, expiry and what gets loggedREFERENCE
- Turso, D1, Durable Objects and Supabase Postgres from one Cloudflare WorkerREFERENCE
- Two Supabase projects on one GitHub repositoryREFERENCE
- WAL on object storage: OrioleDB's S3 mode against Turso CloudREFERENCE
- What a Supabase platform operation costs a clientREFERENCE
- Where should a tenant live: one Supabase project per tenant, or manyREFERENCE
Cloudflare
Workers, caching, tunnels, and the WAN - the edge provider half of the estate.
All Cloudflare docs (7)
- GitHub Actions with Cloudflare
- Magic WAN and its interoperability
- Securing kubectl with Cloudflare Access for SaaS
- Setting up Cloudflare Tunnel on Google Cloud Run
- Caching with Cloudflare Workers: when to use whatREFERENCE
- Media transformation architectureREFERENCE
- We have fraud detection at homeREFERENCE
Kubernetes
k3s on ARM64: deployment, ingress, and observability.
Networking and DNS
The self-hosted edge and the resolvers behind it.
All Networking and DNS docs (8)
- A XikeStor SKS8300 switch on OpenWrt: flash, config as code, and the way back to stock
- Caddy reverse proxy with Coraza WAF and management dashboard
- Glory-Hole DoT DNS service interop with Magic WAN and VyOS
- Recursive DNS on GL-MT3000: Unbound behind AdGuard Home
- Edge Caddy as a native NixOS serviceREFERENCE
- knotea: one binary that is both your recursive resolver and your authoritative DNSREFERENCE
- NixOS edge router network designREFERENCE
- Running a domain that does not link back to youREFERENCE
Homelab and self-hosting
The services that run on the home network, and the network they run on.
All Homelab and self-hosting docs (28)
- A bridged access point on mainline OpenWrt: flash, recover, configure as code
- Add Prometheus monitoring to a Compose Postgres stack
- AirGradient ONE on ESPHome, fully local
- Blind playback-rate listening test
- Docker networking patterns for the arr stack
- Migrating a NAS without losing a byte: bulk-data moves with migctl
- Moving an ESPHome fleet to a new SSID
- Multi-site Vaultwarden: PostgreSQL, R2 sync, and Cloudflare load balancer failover
- Self-hosting Matrix + Element Call on k3s with Cloudflare and VyOS
- Singapore weather alerts and live maps with Home Assistant and Grafana
- slskd behind WireGuard VPN with port-forward sync
- A self-hosted web research stack for coding agentsREFERENCE
- Composer: a GitOps control plane for Docker Compose stacksREFERENCE
- Declarative backups on a ZFS homelab: nix timers, sanoid, syncoidREFERENCE
- Designing glanceable dashboards for home environmental telemetryREFERENCE
- Docker Servarr stack security: hardening media automationREFERENCE
- drawbridge: an mTLS-gated, route-allowlisted proxy for the Docker socketREFERENCE
- Flint 2 VAP durability: why UCI SSIDs vanish on reboot and how to fix itREFERENCE
- Home IoT: an ESPHome fleet on a Flint-bridged VLANREFERENCE
- Hot vs bulk: placing app state on a two-tier ZFS homelabREFERENCE
- Lockstep: watch-party sync for JellyfinREFERENCE
- Monitoring a self-hosted stack behind a policy-drop edgeREFERENCE
- OpenAQ community PM2.5 in Home AssistantREFERENCE
- slskarr: one process for Soulseek, the PIA tunnel, and the Lidarr importREFERENCE
- Synchronized playback with far-away viewersREFERENCE
- Tailscale homelab reference: overlay as second path and management planeREFERENCE
- Three NixOS hosts, one deploy interfaceREFERENCE
- ZFS on NixOS: who owns the mountREFERENCE
Forge and CI
The self-hosted Forgejo forge: repositories, Actions runners, releases, and the deploys they trigger.
All Forge and CI docs (9)
- Building Windows releases on a Linux-only Forgejo runner
- Forgejo recovery runbooks
- Migrating a repo fleet from GitHub-primary to Forgejo-primary
- Porting a GitHub Actions workflow to Forgejo Actions
- Wiring a Forgejo push to a Composer GitOps deploy
- Forgejo as the primary forge on the NixOS edge routerREFERENCE
- Releases and the registry decision on a self-hosted ForgejoREFERENCE
- The Forgejo Actions runner: build and lifecycleREFERENCE
- Where Forgejo's data lives: storage, backups and cachesREFERENCE
Secrets
Where credentials live, how they are encrypted, rotated, and kept out of agent transcripts.
All Secrets docs (7)
- Building and checking a secretctl registry
- Encrypting Docker Compose .env files with SOPS and age
- Rotating a credential end to end with secretctl
- Unlocking rbw with a YubiKey touch on Linux and WSL2
- Choosing a secrets backend: SOPS+age, Vaultwarden, OpenBao, and InfisicalREFERENCE
- Keeping credentials out of coding-agent transcriptsREFERENCE
- secretctl: stores, digests and commandsREFERENCE
Hardware design
Designing, ordering and bringing up open hardware: the GRIDDLE LX Hall-effect keyboard series.
All Hardware design docs (5)
- A keyboard case in build123d, checked before the vendor checks it
- Ordering a 4-layer keyboard PCBA and plate at JLCPCB
- A PCB as code, and proving its checks workREFERENCE
- GRIDDLE LX: an open 5x12 Hall-effect keyboardREFERENCE
- Keyboard typing height: standards, the case stack and keycap profilesREFERENCE
Workstations and tooling
Hardware tuning and the tooling around the machines.
All Workstations and tooling docs (43)
- Auditing which OpenRouter provider served your agent's requests
- Creating QMK, VIA, and Vial keymaps
- Diagnosing a reasoning cliff in an agentic model
- Extending your Terraform configuration with the http provider
- Fixing merged reports from an 8 kHz mouse on Windows
- GPU HDMI audio vs a USB DAC - measuring output latency through an HDMI audio extractor
- Keeping /run/user alive across Docker Desktop stops on WSL2
- Keeping Windows SMB credentials in sync with a sops-managed NixOS Samba server
- Leak gates that let coding agents push without approval prompts
- Making cliamp play sound on WSL2
- Measuring USB audio output latency on Windows with a loopback cable
- Reclaiming disk space from WSL2 and Docker Desktop
- Removing a stuck WinFsp or rclone drive letter on Windows
- Setting up Steam Deck (Steam OS) with Nix
- Tuning a 10GbE link end to end
- A cross-client memory store for coding agentsREFERENCE
- A kanban board for coding agentsREFERENCE
- A personal knowledge graph with a local LLMREFERENCE
- A self-hosted transcription service for coding agentsREFERENCE
- A skills system for coding agents: on-demand instruction files at scaleREFERENCE
- Agent image generation and LoRA trainingREFERENCE
- apm: counting APM without touching input latencyREFERENCE
- Benchmarking local models for agent workREFERENCE
- Context, prompt cache, and compaction in a coding-agent harnessREFERENCE
- Declarative media player configs: VLC and MPC-HCREFERENCE
- Documentation over SSH for coding agentsREFERENCE
- GPU voltage-frequency curve control without AfterburnerREFERENCE
- Guard extensions that enforce prose and process rules in a coding agentREFERENCE
- Labelling AI use in your own work: what 0rwx measures and what it leaves outREFERENCE
- Loop or graph: a sensor-gated coding-agent loop measured against the 2026 harnessesREFERENCE
- One identity, two registers: turning a personal design language into a gateREFERENCE
- One rule set, two agent harnesses: sharing guards and tools between coding agentsREFERENCE
- Print-ready graphics: what a printer needs from your logoREFERENCE
- Qwen3.8-27B for agentic work: speculative decoding and reasoning effortREFERENCE
- Resuming any coding-agent session from any directoryREFERENCE
- Reverse engineering with a coding agent and headless GhidraREFERENCE
- Running agent git commands without per-command approval promptsREFERENCE
- Scheduling one GPU between LLM, image and training workREFERENCE
- Subagents, worktrees, and parallel agent workREFERENCE
- The pi harness journey: a coding-agent harness built from oneREFERENCE
- When blurred or pixelated text can be recoveredREFERENCE
- Which model runs which agent work: model routing in a coding-agent harnessREFERENCE
- Windows drive-letter failures: credential or mount-ownership?REFERENCE
Contributing
Section titled “Contributing”Every page has an Edit this page link in the right rail that opens the source on GitHub. PRs welcome.