---
title: CrowdSec Manager
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, front-end, crowdsec, security, dashboard, wazuh-like, bouncer, lapis, docker]
confidence: medium
contested: false
sources: [https://selfh.st/apps/?tag=Front-End, https://github.com/hhftechnology/crowdsec_manager]
---

# 🛡️ CrowdSec Manager

> **Une interface web moderne pour piloter la stack CrowdSec** (alertes, décisions, bouncers, multi-proxy) sans passer par la console officielle SaaS.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://crowdsec.net/ (manager communautaire tiers) |
| **GitHub** | https://github.com/hhftechnology/crowdsec_manager |
| **License** | AGPL-3.0 |
| **Langage principal** | TypeScript / Node.js |
| **Étoiles GitHub** | ~9 ⭐ |
| **Dernière MAJ** | 2025 (active) |
| **Catégorie** | [[cat-front-end]] |

## Description

**CrowdSec Manager** est un **dashboard web communautaire** pour la stack [[app-crowdsec|CrowdSec]]. CrowdSec est un moteur de sécurité collaboratif open source : il collecte des logs, détecte des comportements agressifs (SSH brute force, scans de ports, web scraping abusif…) et partage les IPs malveillantes entre tous les utilisateurs via un blocklist mondial. En standard, CrowdSec se gère en ligne de commande (`cscli`) ou via la **Console officielle** (SaaS).

Ce manager ajoute une **couche web auto-hébergée** qui parle directement à l'API locale LAPI de CrowdSec. Concrètement, on retrouve : un **tableau de bord des alertes et décisions**, la **gestion des bouncers** (Caddy, Nginx, NPM, Traefik…), l'**intégration Pangolin** (reverse proxy) et un support **multi-proxy** pour les architectures hétérogènes. C'est typiquement le genre d'outil qui rend CrowdSec réellement **utilisable au quotidien** sur un homelab, sans avoir à ouvrir un terminal à chaque alerte.

Le projet est **jeune et niche** (bus factor 1, moins d'une dizaine de contributeurs réguliers) mais comble un vrai manque : la Console officielle est orientée entreprise et la CLI seule est austère. À considérer comme un **complément**, pas comme un remplacement de la stack CrowdSec elle-même.

## Installation

### Via Docker (recommandé)

```yaml
version: "3.8"

services:
  crowdsec:
    image: crowdsecurity/crowdsec:latest
    container_name: crowdsec
    restart: unless-stopped
    volumes:
      - crowdsec-config:/etc/crowdsec
      - crowdsec-data:/var/lib/crowdsec/data
    environment:
      - COLLECTIONS=crowdsecurity/crowdsecurity crowdsecurity/crowdsecurity/linux crowdsecurity/crowdsecurity/nginx
    networks:
      - crowdsec-net

  crowdsec-manager:
    image: ghcr.io/hhftechnology/crowdsec_manager:latest
    container_name: crowdsec-manager
    restart: unless-stopped
    depends_on:
      - crowdsec
    ports:
      - "8080:8080"
    environment:
      - CROWDSEC_LAPI_URL=http://crowdsec:8080
      - CROWDSEC_LAPI_KEY=${CROWDSEC_LAPI_KEY}
    networks:
      - crowdsec-net

networks:
  crowdsec-net:
    driver: bridge

volumes:
  crowdsec-config:
  crowdsec-data:
```

> **Note** : récupérer la clé API via `docker exec crowdsec cscli bouncers add manager`.

### Installation manuelle

1. Cloner le dépôt : `git clone https://github.com/hhftechnology/crowdsec_manager.git`
2. Installer les dépendances Node.js (`npm install`)
3. Configurer la variable d'environnement `CROWDSEC_LAPI_URL` pointant vers l'instance CrowdSec locale
4. Générer une clé API côté CrowdSec : `cscli bouncers add <nom>`
5. Lancer `npm run build && npm start`
6. Exposer derrière un reverse proxy (Caddy, Traefik) avec HTTPS

## Configuration

- **Première connexion** : aucune authentification par défaut — **placer immédiatement derrière un reverse proxy authentifié** (Authelia, Authentik) ou activer le module d'auth intégré
- **Clé LAPI** : obligatoire, à générer côté CrowdSec (`cscli bouncers add`)
- **Décisions** : visualisation temps réel, possibilité d'examiner, valider ou supprimer une décision
- **Multi-proxy** : configurer un bouncer par reverse proxy présent sur l'infra (Caddy, Nginx Proxy Manager, Traefik)
- **Notifications** : webhooks optionnels (Slack, Discord) — à configurer dans le panneau d'admin

## Alternatives

### Open source
- [[app-crowdsec]] — la stack CrowdSec elle-même, qui s'auto-gère en CLI
- **CrowdSec Console (officielle, source-available)** — interface officielle, mais avec une part SaaS imposée
- **Wazuh** — SIEM complet bien plus lourd, qui peut ingérer les logs CrowdSec

### Propriétaires
- **Cloudflare** — protection DDoS/WAF managée, mais centralisée et payante
- **Fail2ban + Uptime Kuma dashboards** — combinaison DIY, sans la couche collaborative

## Sécurité

- ⚠️ **Pas d'authentification native** : à protéger impérativement par reverse proxy authentifié
- Le manager expose des **informations sensibles** (IPs bloquées, logs d'attaques) : ne pas rendre public
- **Clé LAPI** : à stocker dans un fichier `.env` ou un secret manager, jamais en clair dans le compose
- Vérifier la **chaine de confiance CrowdSec → bouncers** : un bouncer compromis peut lister des IPs légitimes
- Maintenir CrowdSec ET le manager à jour : les CVE sur LAPI sont rares mais le projet évolue vite
- **Bus factor 1** : prévoir un fallback CLI (`cscli decisions list`) si le manager tombe

## Ressources
- [Dépôt GitHub hhftechnology/crowdsec_manager](https://github.com/hhftechnology/crowdsec_manager)
- [Documentation officielle CrowdSec](https://docs.crowdsec.net/)
- [Liste des bouncers supportés](https://docs.crowdsec.net/u/bouncers/intro)
- [Reddit selfhosted — retours d'usage](https://www.reddit.com/r/selfhosted/)

## Pages Liées
- [[cat-front-end]]
- [[app-crowdsec]]
- [[recettes-docker-compose]]
