Initial vault setup
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
---
|
||||
title: PatchPanda
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, docker, mise-a-jour, stacks, typescript]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Docker, https://github.com/dkorecko/PatchPanda]
|
||||
---
|
||||
|
||||
# 🐳 PatchPanda
|
||||
|
||||
> **Le patch manager pour vos stacks Compose** : détecte les nouvelles versions, met à jour intelligemment, notifie. Conçu spécifiquement pour les utilisateurs de `docker compose` qui veulent la MAJ sans la friction.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | (GitHub) |
|
||||
| **GitHub** | [dkorecko/PatchPanda](https://github.com/dkorecko/PatchPanda) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | TypeScript |
|
||||
| **Étoiles GitHub** | 348 ⭐ |
|
||||
| **Dernière MAJ** | 2026-04 |
|
||||
| **Catégorie** | [[cat-docker\|Docker]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**PatchPanda** est un **gestionnaire de mises à jour spécialisé Compose**. Là où Watchtower se contente de pull+recreate aveuglément, PatchPanda **analyse** votre `docker-compose.yml`, **vérifie** les nouvelles versions upstream (Docker Hub, GHCR, registries privés), et **met à jour** uniquement ce que vous autorisez.
|
||||
|
||||
- ✅ **Analyse des `docker-compose.yml`** : détection automatique des images
|
||||
- ✅ **Check des nouvelles versions** sur Docker Hub, GHCR, registries privés
|
||||
- ✅ **Mise à jour sélective** : par stack ou par service
|
||||
- ✅ **Diff visuel** : voir le changement de version avant MAJ
|
||||
- ✅ **Backup automatique** avant MAJ
|
||||
- ✅ **Rollback** : revenir à la version précédente en un clic
|
||||
- ✅ **Cron intégré** : scan quotidien/hebdomadaire
|
||||
- ✅ **Notifications multi-canaux** : Discord, Telegram, Slack, email
|
||||
- ✅ **API REST** : intégration CI/CD
|
||||
- ✅ **UI web moderne** : React + dark mode
|
||||
- ✅ **MIT** : auditable
|
||||
|
||||
**Public cible** : utilisateurs avancés de `docker compose` qui veulent **garder le contrôle** sur le rythme des MAJ. Moins adapté à Portainer/Dockge (qui gèrent déjà le cycle de vie des stacks).
|
||||
|
||||
**Différence avec [[app-dockge]]** : Dockge **exécute** vos stacks et fournit une UI pour les manipuler. PatchPanda est **spécialisé** dans la détection de MAJ et le versioning. À utiliser **avec** Dockge, pas à la place.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Docker Compose
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
patchpanda:
|
||||
image: ghcr.io/dkorecko/patchpanda:latest
|
||||
container_name: patchpanda
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DATABASE_URL=file:/data/patchpanda.db
|
||||
- CRON_SCHEDULE=0 5 * * *
|
||||
- WATCH_DIRS=/opt/stacks
|
||||
- DISCORD_WEBHOOK=https://discord.com/api/webhooks/*** - TZ=Europe/Paris
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- /opt/stacks:/opt/stacks:ro # vos stacks
|
||||
- patchpanda-data:/data
|
||||
ports:
|
||||
- "8111:3000"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.patchpanda.rule=Host(`patches.example.com`)"
|
||||
- "traefik.http.routers.patchpanda.entrypoints=websecure"
|
||||
- "traefik.http.routers.patchpanda.tls.certresolver=letsencrypt"
|
||||
|
||||
volumes:
|
||||
patchpanda-data:
|
||||
```
|
||||
|
||||
### Docker run
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name patchpanda \
|
||||
-p 8111:3000 \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock:ro \
|
||||
-v /opt/stacks:/opt/stacks:ro \
|
||||
-v patchpanda-data:/data \
|
||||
ghcr.io/dkorecko/patchpanda:latest
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Accéder à l'UI** : `http://IP:8111`
|
||||
2. **Pointer sur le dossier de stacks** : Settings > Watch Dirs (`/opt/stacks`)
|
||||
3. **Lancer un scan initial** : bouton « Scan Now » (5-10 min)
|
||||
4. **Examiner les MAJ disponibles** : Dashboard > Updates
|
||||
5. **Activer le webhook Discord** (ou autre) pour être notifié
|
||||
6. **Programmer le cron** : `0 5 * * *` (scan quotidien à 5h)
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
|
||||
- [[app-watchtower]] — Update auto, sans interface, sans rollback
|
||||
- [[app-cup]] — Concurrent direct, plus simple
|
||||
- [[app-dockge]] — Compose manager (orthogonal, complémentaire)
|
||||
- [[app-docking-station]] — UI update, plus généraliste
|
||||
- [[app-diun]] — Notifications seules
|
||||
|
||||
### Comparaison PatchPanda vs alternatives
|
||||
|
||||
| Critère | PatchPanda | Watchtower | Cup | Dockge |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| UI web | ✅ | ❌ | ✅ | ✅ |
|
||||
| Update auto | Optionnel | ✅ | Optionnel | Manuel |
|
||||
| Rollback | ✅ | ❌ | ❌ | Manuel |
|
||||
| Diff versions | ✅ | ❌ | ✅ | ❌ |
|
||||
| Backup avant MAJ | ✅ | ❌ | ❌ | ❌ |
|
||||
| Compose-centric | ✅ | ⚠️ | ⚠️ | ✅ |
|
||||
| License | MIT | Apache-2.0 | MIT | MIT |
|
||||
|
||||
**Verdict** : PatchPanda est **le plus complet** des update managers Compose, grâce au rollback et au diff. À privilégier si vous avez 10+ stacks et que vous voulez tracer les changements.
|
||||
|
||||
### Propriétaires (ce que PatchPanda remplace)
|
||||
|
||||
- **Renovate Bot** (version Docker) — Plus complexe, orienté code
|
||||
- **Dependabot** — Lié à GitHub
|
||||
- **Scripts cron artisanaux** — Pas de rollback
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- ⚠️ **Le socket Docker = root** : en cas de compromission, exécution de code arbitraire. **Montez le socket en `:ro`** et limitez l'accès réseau à PatchPanda
|
||||
- **HTTPS obligatoire** via [[app-traefik]]
|
||||
- **Whitelist de registries** : ne pas autoriser les registries non-listés
|
||||
- **Pas d'auth native** : protégez l'UI derrière Authelia/Oauth2-Proxy
|
||||
- **Sauvegardes** : configurez des backups avant MAJ automatique (cf. [[app-docker-volume-backup]])
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [GitHub dkorecko/PatchPanda](https://github.com/dkorecko/PatchPanda)
|
||||
- [Issue tracker et roadmap](https://github.com/dkorecko/PatchPanda/issues)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-docker]] — Catégorie Docker
|
||||
- [[app-portainer]] — Runtime Docker
|
||||
- [[app-dockge]] — Compose manager
|
||||
- [[app-yacht]] — Templates
|
||||
- [[app-traefik]] — Reverse proxy
|
||||
- [[recettes-docker-compose]] — Stacks
|
||||
- [[securisation-home-lab]] — Sécurité
|
||||
Reference in New Issue
Block a user