crowdsec-local-dashboard
A self-hosted local web dashboard for viewing and managing CrowdSec decisions on a homelab, replacing CLI commands like 'cscli decisions list' with a filterable table interface.
Ficha actualizada 23 sept 2026, 9:37 · upstream 23 sept 2026, 9:16 · release v0.5.1-beta
Qué es crowdsec-local-dashboard
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
CrowdSec is excellent at blocking malicious traffic, but managing false positives from the command line can be cumbersome—especially when trying to find an IP address after it has been banned. This dashboard replaces that workflow entirely by presenting all CrowdSec decisions in a single, filterable web table with delete functionality. It runs locally without requiring any enterprise account or cloud connectivity, making it ideal for personal homelab setups where you want full control over your security posture.
The tool provides three main views: Hosts (a sortable list of IPs with active ban counts), Decisions (filterable cards showing which decisions apply to each IP), and Users (local accounts plus SSO logins). It also includes alert extraction, real-time updates via Server-Sent Events, historical tracking in a local SQLite database, and optional OIDC/OAuth single sign-on support.
Built on TanStack Start with React, it uses Prisma ORM for the database, shadcn/ui components, and Tailwind CSS v4. It supports both Docker Compose deployment and manual Node.js installation, making it accessible to anyone who already has a CrowdSec instance running.
- Eliminating false positives from CrowdSec by viewing all decisions in one place instead of scrolling through CLI output
- Quickly finding which IP addresses have been banned without needing SSH access or knowing the server's hostname
- Managing multiple users and SSO logins for different admin accounts on a homelab
- Viewing alert details (e.g., port scans, blocked paths) directly from the dashboard rather than parsing logs manually
- Tracking which hosts have been banned over time with country enrichment data
- Running CrowdSec locally without any cloud or enterprise subscription requirements
- Supports optional OIDC/OAuth single sign-on integration with providers like Authentik, Keycloak, and Okta
- Provides real-time updates via Server-Sent Events so the dashboard reflects changes as they occur without polling
- Includes a complete set of pre-built UI components using shadcn/ui that can be customized to match your design system
- The alert evidence shown in expanded rows is limited to what CrowdSec's built-in parsers can extract; it cannot display custom or proprietary log formats
- No support for external threat intelligence feeds (e.g., VirusTotal, AlienVault OTX) unless CrowdSec has already integrated them into its decision engine
- The dashboard does not provide detailed threat intelligence such as ASN data, behavioral trends, or IP reputation scores beyond basic country enrichment
- It requires a running CrowdSec instance with an accessible Local API endpoint to function at all
- No built-in alert management interface—users must manually delete decisions from the CLI if they need to remove them
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
The project uses Docker Compose for easy deployment. The docker-compose.yml file contains all necessary configuration, including environment variables for CrowdSec credentials (LAPI_*), database settings, and application secrets. For manual installation, you can use Node.js 22+ with npm to run the app directly without a container. Always ensure your CrowdSec instance is running before starting the dashboard, as it depends on the LAPI endpoint being available at localhost:8081 (or the configured port). The dashboard also requires an existing database schema if you want to use Prisma ORM instead of SQLite.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.