Chapter 1 of 26
Welcome to PatchMon
PatchMon is an open-source patch management and infrastructure monitoring platform that gives sysadmins and IT teams centralised visibility over patches, packages, compliance, and remote access across their entire server fleet.
It works with standard Linux package managers (apt, yum, and dnf) and requires no inbound ports on your monitored hosts.
How It Works
PatchMon uses a lightweight agent model:
- Deploy the Server. Self-host PatchMon using Docker or the native installer, or use the managed PatchMon Cloud.
- Install the Agent. Add a host in the dashboard and run the one-liner install command on your Linux server.
- Monitor. The agent sends system and package data outbound to PatchMon on a schedule. No inbound ports need to be opened on your servers.
Network requirements: Agents only need outbound access on port 443 (HTTPS). If your systems are behind firewalls that inspect SSL/DNS traffic or are air-gapped, adjust your rules accordingly.
Key Features
| Area | Details |
|---|---|
| Dashboard | Customisable per-user card layout with fleet-wide overview |
| Host Management | Host inventory, grouping, and OS detail tracking |
| Package Tracking | Package inventory, outdated package counts, and repository tracking per host |
| Compliance Scanning | OpenSCAP CIS Benchmark scans and Docker Bench for Security (scheduled or on-demand) |
| Docker Monitoring | Container discovery and status tracking across your hosts |
| Agent System | Lightweight agents with outbound-only communication. No attack surface on your servers. |
| Remote Access | In-browser RDP via Guacamole and SSH terminal with AI-assisted analysis |
| AI Analysis | AI-powered assistance inside the SSH terminal |
| Users & Auth | Multi-user accounts with roles, permissions, and RBAC |
| OIDC SSO | Single Sign-On via external identity providers (e.g. Authentik, Keycloak, Entra ID) |
| TOTP 2FA | Time-based one-time password two-factor authentication |
| Auto-Enrollment | Automatic agent enrollment for Proxmox LXC containers |
| API | REST API with JWT authentication under /api/v1 |
| Rate Limiting | Configurable rate limits for general, auth, and agent endpoints |
Quick Links
- Installing PatchMon Server on Docker
- Installing the PatchMon Agent
- Proxmox LXC Auto-Enrollment Guide
- PatchMon Environment Variables Reference
- Metrics and Telemetry
- Feature Roadmap (request and vote on features)
- Report a Bug (bugs are tracked in GitHub, not the feedback portal)
- YouTube
- Discord Community
- GitHub Repository
Architecture
PatchMon is a single Go binary that serves both the API and the embedded React frontend. There is no separate frontend container or web server. The binary also runs database migrations automatically on startup.
End Users (Browser) ──HTTPS──▶ Reverse Proxy (optional)
│
▼
patchmon-server (Go binary)
- REST API (/api/v1)
- Embedded React frontend
- Background job worker (asynq)
- Database migrations
│
┌────────┴────────┐
▼ ▼
PostgreSQL 17 Redis 7
(job queues)
▲
Agents on your servers ──HTTPS──▶ patchmon-server
(outbound only)
In-browser RDP ──────────────────▶ guacd (Guacamole daemon)
| Component | Technology |
|---|---|
| Server | Go single binary (API + embedded frontend + migrations) |
| Frontend | React + Vite (embedded in the server binary) |
| Database | PostgreSQL 17 |
| Job Queue | Redis 7 (via asynq) |
| RDP Gateway | guacd (Apache Guacamole daemon), optional (required for RDP) |
Support
- Discord: patchmon.net/discord
- Email: support@patchmon.net
- GitHub Issues: Report a bug
License
PatchMon is licensed under AGPLv3.