---
title: PatchMon
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, monitoring, patchs, linux, securite, debian, ubuntu, go, auto-hebergement]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/PatchMon/PatchMon]
---

# 📊 PatchMon

> **Le monitoring de patches Linux simplifié** : détectez les MAJ disponibles sur vos serveurs Debian/Ubuntu/RHEL et appliquez-les en un clic. Indispensable pour la sécurité.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [patchmon.io](https://patchmon.io) |
| **GitHub** | [PatchMon/PatchMon](https://github.com/PatchMon/PatchMon) |
| **License** | MIT |
| **Langage** | Go |
| **Étoiles GitHub** | 2.9k ⭐ |
| **Dernière MAJ** | 2026-06-06 |
| **Catégorie** | [[cat-monitoring|Monitoring]] |

## 📝 Description

**PatchMon** est un **outil de monitoring de correctifs (patchs) self-hosted** pour flottes de machines Linux. Il détecte automatiquement les paquets nécessitant une mise à jour, classe les correctifs par criticité (sécurité, bug-fix, feature) et permet de déclencher les MAJ depuis une interface web centralisée.

Contrairement à un [[app-uptime-kuma]] qui vérifie que vos services *tournent*, PatchMon vérifie qu'ils sont *à jour*. C'est un pilier de la **compliance CVE** et de l'hygiène système pour les admins qui gèrent plusieurs serveurs.

- ✅ **Agents légers** (Go) pour Linux : Debian, Ubuntu, RHEL, CentOS, Fedora, Rocky, Alma
- ✅ **Dashboard centralisé** : état des patches par hôte, par groupe, par criticité
- ✅ **Catégorisation** : MAJ de sécurité / bug-fix / feature
- ✅ **Notifications** : Discord, Slack, email, webhook
- ✅ **Détection CVE** corrélée aux paquets installés
- ✅ **API REST** pour intégration Ansible, Puppet, etc.
- ✅ **Mode multi-tenant** : gérez plusieurs organisations
- ✅ **Authentification** : utilisateurs locaux + OIDC / SAML
- ✅ **Historique** : traçabilité complète des MAJ appliquées
- ✅ **Schedules** : planification de fenêtres de maintenance
- ✅ **Groupes d'hôtes** : par environnement (prod / staging / dev)

**Public cible** : **admins sys, MSP, équipes DevOps** qui gèrent ≥ 5 serveurs Linux et veulent arrêter de faire `apt update` à la main sur 30 machines.

### Comparaison rapide

| Outil | Cible | Différence |
| :--- | :--- | :--- |
| **PatchMon** | Patchs OS | Simple, rapide, focus MAJ |
| [[app-netdata]] | Métriques runtime | Ne fait pas le suivi des patches |
| **Canonical Landscape** | Ubuntu uniquement | Propriétaire, lourd |
| **Spacewalk / Foreman** | Provisioning complet | Beaucoup plus complexe |

## 🚀 Installation

### Option 1 : Docker Compose (recommandé)

```yaml
# docker-compose.yml
version: '3.8'
services:
  patchmon:
    image: patchmon/patchmon:latest
    container_name: patchmon
    restart: unless-stopped
    ports:
      - "3000:3000"   # Web UI
    environment:
      - DB_HOST=patchmon-db
      - DB_USER=patchmon
      - DB_PASSWORD=change_me_strong_pwd
      - DB_NAME=patchmon
      - JWT_SECRET=change_me_jwt_secret
      - TZ=Europe/Paris
    depends_on:
      - patchmon-db
    volumes:
      - patchmon-data:/app/data
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.patchmon.rule=Host(`patchmon.example.com`)"
      - "traefik.http.routers.patchmon.entrypoints=websecure"
      - "traefik.http.routers.patchmon.tls.certresolver=letsencrypt"

  patchmon-db:
    image: postgres:16-alpine
    container_name: patchmon-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=patchmon
      - POSTGRES_PASSWORD=change_me_strong_pwd
      - POSTGRES_DB=patchmon
    volumes:
      - patchmon-db:/var/lib/postgresql/data

  patchmon-agent:
    image: patchmon/agent:latest
    container_name: patchmon-agent
    restart: unless-stopped
    environment:
      - PATCHMON_SERVER=http://patchmon:3000
      - PATCHMON_API_KEY=will_be_set_after_agent_registration
    volumes:
      - /etc:/host/etc:ro
      - /var/lib/dpkg:/host/var/lib/dpkg:ro
      - /var/lib/rpm:/host/var/lib/rpm:ro

volumes:
  patchmon-data:
  patchmon-db:
```

> 💡 L'agent peut aussi être installé **nativement** sur les hôtes (binaire Go, paquet .deb/.rpm) au lieu d'un conteneur side-car.

### Option 2 : Binaire natif (agent)

```bash
curl -L -o patchmon-agent https://github.com/PatchMon/PatchMon/releases/latest/download/patchmon-agent-linux-amd64
chmod +x patchmon-agent
sudo ./patchmon-agent install --server https://patchmon.example.com --api-key YOUR_KEY
```

## ⚙️ Configuration Initiale

1. **Accéder à l'UI** : `https://patchmon.example.com` — créer le compte admin
2. **Déployer l'agent** : sur chaque hôte Linux, lancer l'agent et noter la **clé d'API**
3. **Enregistrer l'hôte** dans PatchMon : Settings > Hosts > Add (saisir la clé API)
4. **Activer les notifications** : Settings > Notifications > Discord/Slack/Email
5. **Créer des groupes** : par environnement (prod-staging-dev) ou par criticité
6. **Définir une politique de MAJ** : auto-appliquer les patchs de sécurité hors heures ouvrées, valider manuellement les MAJ majeures

## 🔄 Alternatives

### Open Source
- **Foreman / Katello** — Provisioning + patchs (très lourd)
- **Spacewalk** — Red Hat only, vieillissant
- **Canonical Landscape** — Ubuntu uniquement, propriétaire
- **Wazuh** — SIEM qui inclut du suivi patchs (beaucoup plus large)
- [[app-uptime-kuma]] — uptime, pas patchs (complémentaire)

### Propriétaires (ce que PatchMon remplace)
- **ManageEngine Patch Manager Plus**
- **Ivanti Patch Management**
- **Qualys VMDR** (module patching)
- **Tanium Patch**

### Comparaison

| Critère | PatchMon | Landscape | Wazuh |
| :--- | :--- | :--- | :--- |
| Self-hosted | ✅ | ❌ (commercial) | ✅ |
| Prix | Gratuit | Payant | Gratuit |
| Multi-distro | ✅ | ❌ (Ubuntu) | ✅ |
| Déclenchement MAJ | ✅ Web | ✅ | ❌ |
| SIEM intégré | ❌ | ❌ | ✅ |
| Complexité | Basse | Moyenne | Haute |

**Verdict** : PatchMon est **le choix évident** pour qui veut un suivi patchs Linux léger, moderne et gratuit. Wazuh reste préférable si vous voulez en plus un SIEM complet.

## 🔐 Sécurité

- **Auth locale + OIDC/SAML** pour l'UI web
- **Communication agent ↔ serveur** chiffrée (HTTPS)
- **HTTPS recommandé** via [[app-traefik]] avec Let's Encrypt
- **Tokens d'API** révocables individuellement
- **RBAC** : rôles admin / opérateur / lecteur

## 📚 Ressources

- [GitHub PatchMon/PatchMon](https://github.com/PatchMon/PatchMon)
- [Site officiel](https://patchmon.io)
- [Documentation](https://docs.patchmon.io)

## Pages Liées
- [[cat-monitoring]] — Catégorie Monitoring
- [[app-uptime-kuma]] — Monitoring d'uptime (complémentaire)
- [[app-traefik]] — Pour exposer en HTTPS
- [[checklist-monitoring-minimal]] — Checklist
- [[observabilite]] — Vue d'ensemble
