177 lines
6.5 KiB
Markdown
177 lines
6.5 KiB
Markdown
---
|
|
title: Statping-ng
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, monitoring, status-page, uptime, go, auto-hebergement, community-fork]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/statping-ng/statping-ng]
|
|
---
|
|
|
|
# 📊 Statping-ng
|
|
|
|
> **La page de statut open source historique, ressuscitée** : fork communautaire du défunt Statping, pour afficher joliment la santé de vos services. Idéal pour les pages publiques sans SaaS.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [statping-ng.github.io](https://statping-ng.github.io) |
|
|
| **GitHub** | [statping-ng/statping-ng](https://github.com/statping-ng/statping-ng) |
|
|
| **License** | MIT |
|
|
| **Langage** | Go |
|
|
| **Étoiles GitHub** | 1.9k ⭐ |
|
|
| **Dernière MAJ** | 2026-06-05 |
|
|
| **Catégorie** | [[cat-monitoring|Monitoring]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Statping-ng** est un **fork communautaire actif** de **Statping**, le projet Go historique de page de statut open source (le repo original a été abandonné par son auteur en 2021). La version "-ng" (next generation) a été reprise par la communauté et reste activement maintenue.
|
|
|
|
Son rôle est précis : **afficher publiquement la santé de vos services** (up/down) avec un design propre, un historique d'incidents et des notifications. C'est un **outil de communication externe**, complémentaire à votre monitoring interne ([[app-uptime-kuma]], [[app-netdata]]).
|
|
|
|
- ✅ **Page de statut publique** personnalisable (CSS custom, logo, domaines)
|
|
- ✅ **Checks automatiques** : HTTP(s), TCP, ICMP, DNS, gRPC
|
|
- ✅ **Gestion d'incidents** : déclaration, historique, post-mortem
|
|
- ✅ **Notifications** : Telegram, Discord, Slack, Email, Twilio, push
|
|
- ✅ **Base de données** : SQLite par défaut, MySQL/Postgres supportés
|
|
- ✅ **API REST** complète
|
|
- ✅ **Authentification** pour la partie admin
|
|
- ✅ **Multi-groupes** : organiser les services par catégorie
|
|
- ✅ **Thème sombre/clair** natif
|
|
- ✅ **Auto-hébergé en 1 binaire Go** (~30 Mo, pas de runtime requis)
|
|
|
|
**Public cible** : **toute équipe qui expose un SaaS ou un portfolio de services** et veut une page `status.example.com` sans dépendre de Statuspage.io ou Better Uptime.
|
|
|
|
### Comparaison rapide
|
|
|
|
| Outil | Cible | Différence |
|
|
| :--- | :--- | :--- |
|
|
| **Statping-ng** | Page statut publique | Fork communautaire actif |
|
|
| [[app-uptime-kuma]] | Uptime + status page | Plus complet, plus vivant |
|
|
| **Cachet** | Page statut | PHP, plus ancien, plus lourd |
|
|
| **Gatus** | Status page pro | Go, plus moderne, en concurrence |
|
|
| **Statuspage.io** | Cloud Atlassian | Propriétaire, cher |
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option 1 : Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
services:
|
|
statping-ng:
|
|
image: adamboutcher/statping-ng:latest
|
|
container_name: statping-ng
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
- DB_CONN=sqlite
|
|
- DB_LOCATION=/app/statping.db
|
|
- SECRET_KEY=change...et
|
|
- ADMIN_USER=admin
|
|
- ADMIN_PASSWORD=change...wd
|
|
- NAME="Status - Example"
|
|
- DESCRIPTION="État de nos services"
|
|
- DOMAIN=https://status.example.com
|
|
volumes:
|
|
- statping-data:/app
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.statping.rule=Host(`status.example.com`)"
|
|
- "traefik.http.routers.statping.entrypoints=websecure"
|
|
- "traefik.http.routers.statping.tls.certresolver=letsencrypt"
|
|
|
|
volumes:
|
|
statping-data:
|
|
```
|
|
|
|
### Option 2 : Binaire unique (le charme du Go)
|
|
|
|
```bash
|
|
# Linux
|
|
curl -L -o statping \
|
|
https://github.com/statping-ng/statping-ng/releases/latest/download/statping-linux-amd64.tar.gz
|
|
tar -xzf statping-linux-amd64.tar.gz
|
|
chmod +x statping
|
|
./statping
|
|
|
|
# Service systemd
|
|
sudo mv statping /usr/local/bin/
|
|
sudo useradd -r statping
|
|
sudo -u statping statping
|
|
```
|
|
|
|
### Option 3 : apt (Debian/Ubuntu)
|
|
|
|
```bash
|
|
# À compiler depuis le repo pour l'instant
|
|
git clone https://github.com/statping-ng/statping-ng
|
|
cd statping-ng
|
|
go build -o statping
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Accéder à l'UI admin** : `https://status.example.com` — premier compte admin
|
|
2. **Configurer le branding** : Settings > Customize (logo, couleur primaire, message)
|
|
3. **Ajouter des services** : Services > New — URL, type (HTTP/TCP/Ping), intervalle (1 min)
|
|
4. **Organiser en groupes** : Groups > New — exemple "API", "Frontend", "Base de données"
|
|
5. **Brancher les notifications** : Settings > Notifications — Discord via webhook, Email SMTP
|
|
6. **Activer la page publique** : cocher "Public" sur les services, partager l'URL `https://status.example.com`
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-uptime-kuma]] — Combine monitoring + status page (roi de la catégorie)
|
|
- **Cachet** — Référence historique (PHP/Laravel)
|
|
- **Gatus** — Status page moderne en Go, plus orientée "developer experience"
|
|
- **Vigil** — Rust, ultra-léger
|
|
- **Staytus** — Ruby, simple
|
|
- **Statuspal** — SaaS auto-hébergeable
|
|
|
|
### Propriétaires (ce que Statping-ng remplace)
|
|
- **Atlassian Statuspage** ($$)
|
|
- **Better Uptime** (status page intégrée)
|
|
- **Instatus** (freemium, joli)
|
|
- **Status.io**
|
|
- **Cachet Cloud**
|
|
|
|
### Comparaison
|
|
|
|
| Critère | Statping-ng | Uptime Kuma | Cachet |
|
|
| :--- | :--- | :--- | :--- |
|
|
| Self-hosted | ✅ | ✅ | ✅ |
|
|
| Status page | ✅ | ✅ | ✅ |
|
|
| Checks uptime | ✅ | ✅ (natif) | ⚠️ basique |
|
|
| Stack | Go (1 binaire) | Node | PHP/Laravel |
|
|
| Personnalisation | Bonne | Bonne | Très bonne |
|
|
| Maintenance | Active (fork) | Très active | Active mais lente |
|
|
| Notifications | Riche | 90+ | Basique |
|
|
|
|
**Verdict** : si vous avez **déjà** [[app-uptime-kuma]] ou [[app-netdata]] et voulez **uniquement** une page de statut publique, Statping-ng est pertinent. Sinon, Uptime Kuma couvre les deux usages.
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- **Auth admin** avec mot de passe hashé (bcrypt)
|
|
- **HTTPS obligatoire** via [[app-traefik]] pour la page publique
|
|
- **Clé secrète** (`SECRET_KEY`) à régénérer pour la prod
|
|
- **Pas d'inscription libre** : seul l'admin crée des comptes
|
|
- **Page publique en lecture seule** : aucune fuite d'info admin
|
|
|
|
## 📚 Ressources
|
|
|
|
- [GitHub statping-ng/statping-ng](https://github.com/statping-ng/statping-ng)
|
|
- [Documentation](https://statping-ng.github.io)
|
|
- [Démo](https://status.statping-ng.com)
|
|
|
|
## Pages Liées
|
|
- [[cat-monitoring]] — Catégorie Monitoring
|
|
- [[app-uptime-kuma]] — Concurrent direct (plus complet)
|
|
- [[app-traefik]] — Reverse proxy / HTTPS
|
|
- [[checklist-monitoring-minimal]] — Checklist
|
|
- [[observabilite]] — Vue d'ensemble
|