Initial vault setup
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
---
|
||||
title: Peekaping
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, monitoring, uptime, go, react, moderne, auto-hebergement, kuma-fork]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/0xfurai/peekaping]
|
||||
---
|
||||
|
||||
# 📊 Peekaping
|
||||
|
||||
> **La relève moderne d'Uptime Kuma** : monitoring d'uptime, probes distribués, API first, UI soignée. Pour qui veut du neuf, rapide, et pensé pour les flottes d'agents.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | (GitHub) |
|
||||
| **GitHub** | [0xfurai/peekaping](https://github.com/0xfurai/peekaping) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | Go (backend) + React (frontend) |
|
||||
| **Étoiles GitHub** | 1.1k ⭐ |
|
||||
| **Dernière MAJ** | 2026-06-07 |
|
||||
| **Catégorie** | [[cat-monitoring|Monitoring]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Peekaping** est un **outil de monitoring d'uptime moderne**, conçu comme une ré-implémentation "from scratch" des bonnes idées d'Uptime Kuma avec une architecture plus modulaire et orientée API. Le nom évoque "peek a ping" — l'action de jeter un œil à un ping.
|
||||
|
||||
Sa différence clé par rapport à [[app-uptime-kuma]] : **architecture client/serveur native** avec agents distribués (peers) et **API first**. Pas besoin de tout réinventer, mais plutôt de servir les flottes hétérogènes.
|
||||
|
||||
- ✅ **HTTP(s), TCP, ICMP, DNS, gRPC, WebSocket** : tous les checks classiques
|
||||
- ✅ **Push & pull** : les agents peuvent push ou être interrogés
|
||||
- ✅ **Probes distribués** (architecture master / agent)
|
||||
- ✅ **Status pages publiques** personnalisables
|
||||
- ✅ **Notifications** : Discord, Slack, Telegram, email, webhook
|
||||
- ✅ **Auth multi-utilisateur** + RBAC + 2FA
|
||||
- ✅ **API REST** : tout est scriptable, intégration Terraform / Ansible facile
|
||||
- ✅ **Métriques Prometheus** : Peekaping expose ses propres métriques (exporter natif)
|
||||
- ✅ **Groupes d'hôtes** : organisation hiérarchique
|
||||
- ✅ **Maintenance windows** : silences planifiés
|
||||
- ✅ **Certificats SSL** : alerte avant expiration (J-X)
|
||||
|
||||
**Public cible** : **équipes DevOps, MSP, hébergeurs, startups SaaS** qui veulent un uptime monitor moderne avec des probes externes (ex : vérifier depuis plusieurs continents).
|
||||
|
||||
### Comparaison rapide
|
||||
|
||||
| Outil | Cible | Différence |
|
||||
| :--- | :--- | :--- |
|
||||
| **Peekaping** | Uptime moderne | API first, probes distribués |
|
||||
| [[app-uptime-kuma]] | Uptime populaire | Plus mature, plus d'users |
|
||||
| **Gatus** | Status page orientée prod | Plus minimal, plus GitOps |
|
||||
| [[app-prometheus]] | Métriques time-series | Pas d'uptime-monitoring natif |
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Option 1 : Docker Compose (recommandé)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
peekaping:
|
||||
image: 0xfurai/peekaping:latest
|
||||
container_name: peekaping
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8383:8383" # Web UI + API
|
||||
environment:
|
||||
- DB_HOST=peekaping-db
|
||||
- DB_USER=peekaping
|
||||
- DB_PASSWORD=*** - DB_NAME=peekaping
|
||||
- JWT_SECRET=*** - TZ=Europe/Paris
|
||||
depends_on:
|
||||
- peekaping-db
|
||||
volumes:
|
||||
- peekaping-data:/app/data
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.peekaping.rule=Host(`peekaping.example.com`)"
|
||||
- "traefik.http.routers.peekaping.entrypoints=websecure"
|
||||
- "traefik.http.routers.peekaping.tls.certresolver=letsencrypt"
|
||||
|
||||
peekaping-db:
|
||||
image: postgres:16-alpine
|
||||
container_name: peekaping-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=peekaping
|
||||
- POSTGRES_PASSWORD=***
|
||||
- POSTGRES_DB=peekaping
|
||||
volumes:
|
||||
- peekaping-db:/var/lib/postgresql/data
|
||||
|
||||
peekaping-agent:
|
||||
image: 0xfurai/peekaping-agent:latest
|
||||
container_name: peekaping-agent
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PEEKAPING_SERVER=https://peekaping.example.com
|
||||
- AGENT_KEY=***
|
||||
|
||||
volumes:
|
||||
peekaping-data:
|
||||
peekaping-db:
|
||||
```
|
||||
|
||||
### Option 2 : Binaire unique (Go)
|
||||
|
||||
```bash
|
||||
curl -L -o peekaping https://github.com/0xfurai/peekaping/releases/latest/download/peekaping-linux-amd64
|
||||
chmod +x peekaping
|
||||
./peekaping serve --config config.yaml
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Accéder à l'UI** : `https://peekaping.example.com` — premier compte admin
|
||||
2. **Changer le mot de passe par défaut** : `admin/admin` ⚠️
|
||||
3. **Ajouter un monitor** : Monitors > New > HTTP(s) — coller votre URL + intervalle (30s/1m/5m)
|
||||
4. **Activer un agent distant** : si vous voulez une sonde externe (ex : serveur OVH pour vérifier depuis la France, puis autre pour les US)
|
||||
5. **Brancher les notifications** : Settings > Notifications — Discord via webhook
|
||||
6. **Créer une status page** : Status Pages > New — domaine `status.example.com` (sous-domaine)
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
- [[app-uptime-kuma]] — Le roi actuel, plus mature
|
||||
- **Gatus** — Status page moderne orientée GitOps
|
||||
- **Cachet** — Page de statut historique
|
||||
- **Statping-ng** — Page de statut pur
|
||||
- [[app-netdata]] — métriques système
|
||||
- [[app-prometheus]] + [[app-glances]] — Stack pro
|
||||
|
||||
### Propriétaires (ce que Peekaping remplace)
|
||||
- **UptimeRobot** (freemium 50 checks)
|
||||
- **Pingdom** (payant)
|
||||
- **Uptime.com**
|
||||
- **Better Uptime**
|
||||
- **Hyperping**
|
||||
- **StatusCake**
|
||||
|
||||
### Comparaison
|
||||
|
||||
| Critère | Peekaping | Uptime Kuma | UptimeRobot |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| Self-hosted | ✅ | ✅ | ❌ |
|
||||
| Prix | Gratuit | Gratuit | Freemium |
|
||||
| Probes distribués | ✅ | ⚠️ DIY | ✅ (multi-régions) |
|
||||
| API first | ✅ | ⚠️ | ✅ |
|
||||
| Status page | ✅ | ✅ | ✅ |
|
||||
| SSL check | ✅ | ✅ | ✅ |
|
||||
| 2FA | ✅ | ✅ | ✅ |
|
||||
| Maturité | 🆕 | Élevée | Très élevée |
|
||||
|
||||
**Verdict** : Peekaping est **une alternative crédible** à Uptime Kuma si vous valorisez l'API et les agents distribués. Pour le plus stable/connu, Uptime Kuma reste le choix par défaut.
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- **JWT** côté API + cookies HttpOnly côté web
|
||||
- **2FA** recommandé pour les comptes admin
|
||||
- **HTTPS obligatoire** via [[app-traefik]]
|
||||
- **RBAC** : admin / operator / viewer
|
||||
- **Rate limiting** sur l'API pour éviter le scraping
|
||||
- **Agents en outbound** : pas de port entrant à ouvrir
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [GitHub 0xfurai/peekaping](https://github.com/0xfurai/peekaping)
|
||||
- [Documentation](https://peekaping.io/docs)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-monitoring]] — Catégorie Monitoring
|
||||
- [[app-uptime-kuma]] — Concurrent direct
|
||||
- [[app-traefik]] — Reverse proxy / HTTPS
|
||||
- [[checklist-monitoring-minimal]] — Checklist
|
||||
- [[observabilite]] — Vue d'ensemble
|
||||
Reference in New Issue
Block a user