Initial vault setup
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user