
I self-hosted PatchMon on Ubuntu 24.04 — CORS_ORIGIN stayed on localhost
I wanted one dashboard for apt and dnf across the VPS fleet, not another HTTP checker. PatchMon came up on Docker. CORS_ORIGIN defaults to localhost:3000, so HTTPS is a CORS brick. Server URL lives in Postgres, not .env — leave it localhost and agents never enroll. Loopback 3000, pin 2.1.6, expand DATABASE_URL — that is the lab path.
Nov 2, 2026 · 18 min read