Skip to content

A web-based management interface for CrowdSec security stack with Pangolin integration. This project replaces the bash script with a modern, user-friendly ShadcnUI built with Go and React.

Notifications You must be signed in to change notification settings

hhftechnology/crowdsec_manager

Repository files navigation

CrowdSec Manager is a web-based management interface for CrowdSec operations, Traefik integration, decisions, scenarios, backups, and logs.

Stable release

  • Current baseline: 1.0.0
  • Multi-proxy support: not available in this release

Images

Dashboard

Health & Diagnostics

Whitelist Management

IP Management

CrowdSec Allowlist Management

Scenario Management

Captcha Setup

Decision List Analysis

Alert List Analysis

Logs Viewer

Backup Management

System Update

Services Management

Configuration

Alert Filters

Alert Inspect Modal

Alert Results Table

Bouncers Management

Config Validation

CrowdSec Health Overview

Dashboard Scenarios and Blocked IPs

Decision Results Table

Hub AppSec Configurations

Hub AppSec Rules

Hub Collections

Hub Home Categories

Hub Log Parsers

Hub Postoverflows

Hub Remediation Components

Hub Scenarios Install Mode

Notifications Detect

Terminal Container Shell

Image Index

Screenshot File Page
alerts-analysis-filters.jpeg Alerts Analysis (filters panel)
alerts-analysis-inspect-modal.jpeg Alerts Analysis (inspect modal)
alerts-analysis-overview.jpeg Alerts Analysis (overview charts)
alerts-analysis-results-table.jpeg Alerts Analysis (results table)
allowlists-management.jpeg Allowlists Management
backup-management.jpeg Backup Management
bouncers-management.jpeg Bouncers Management
captcha-protection-detect.jpeg Captcha Protection (detect)
config-validation.jpeg Config Validation
configuration-settings.jpeg Configuration Settings
crowdsec-health-overview.jpeg CrowdSec Health Overview
dashboard-overview-countries-systems.jpeg Dashboard (countries and systems)
dashboard-overview-scenarios-blocked-ips.jpeg Dashboard (scenarios and blocked IPs)
decisions-analysis-overview.jpeg Decisions Analysis (overview)
decisions-results-table.jpeg Decisions Analysis (results table)
health-diagnostics-overview.jpeg Health and Diagnostics
hub-appsec-configurations.jpeg Hub Browser (AppSec configurations)
hub-appsec-rules.jpeg Hub Browser (AppSec rules)
hub-collections.jpeg Hub Browser (collections)
hub-home-categories.jpeg Hub Browser (home categories)
hub-log-parsers.jpeg Hub Browser (log parsers)
hub-postoverflows.jpeg Hub Browser (postoverflows)
hub-remediation-components.jpeg Hub Browser (remediation components)
hub-scenarios-install-mode.jpeg Hub Browser (scenarios install mode)
ip-management.jpeg IP Management
logs-service-logs.jpeg Logs (service logs)
notifications-detect.jpeg Notifications (detect)
scenarios-management.jpeg Scenarios Management
services-management.jpeg Services Management
system-update.jpeg System Update
terminal-container-shell.png Terminal (container shell)
whitelist-management.jpeg Whitelist Management

Minimum Docker Compose

services:
  crowdsec-manager:
    image: hhftechnology/crowdsec-manager:1.1.0
    container_name: crowdsec-manager
    restart: unless-stopped
    expose:
      - "8080"
    environment:
      # Core Configuration
      - PORT=8080
      - ENVIRONMENT=production
      - TRAEFIK_DYNAMIC_CONFIG=/etc/traefik/dynamic_config.yml
      - TRAEFIK_CONTAINER_NAME=traefik
      - TRAEFIK_STATIC_CONFIG=/etc/traefik/traefik_config.yml
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /root/config:/app/config
      - /root/docker-compose.yml:/app/docker-compose.yml
      - ./backups:/app/backups
      - ./data:/app/data
    networks:
      - pangolin

networks:
  pangolin:
    external: true

Run

mkdir -p ./backups ./data
docker network create pangolin
docker compose up -d

Verify

curl http://localhost:8080/health

API Endpoints

Base prefix: /api

Health

  • GET /api/health/stack
  • GET /api/health/crowdsec
  • GET /api/health/complete

IP

  • GET /api/ip/public
  • GET /api/ip/blocked/:ip
  • GET /api/ip/security/:ip
  • POST /api/ip/unban

Whitelist

  • GET /api/whitelist/view
  • POST /api/whitelist/current
  • POST /api/whitelist/manual
  • POST /api/whitelist/cidr
  • POST /api/whitelist/crowdsec
  • POST /api/whitelist/traefik
  • POST /api/whitelist/comprehensive
  • DELETE /api/whitelist/remove

Allowlist

  • GET /api/allowlist/list
  • POST /api/allowlist/create
  • GET /api/allowlist/inspect/:name
  • POST /api/allowlist/add
  • POST /api/allowlist/remove
  • DELETE /api/allowlist/:name

Scenarios

  • POST /api/scenarios/setup
  • GET /api/scenarios/list
  • GET /api/scenarios/files
  • DELETE /api/scenarios/file

Captcha

  • POST /api/captcha/setup
  • GET /api/captcha/status
  • GET /api/captcha/detect
  • POST /api/captcha/config
  • POST /api/captcha/apply

Logs

  • GET /api/logs/crowdsec
  • GET /api/logs/traefik
  • GET /api/logs/traefik/advanced
  • GET /api/logs/:service
  • GET /api/logs/stream/:service
  • GET /api/logs/structured/:service

Backup

  • GET /api/backup/list
  • POST /api/backup/create
  • POST /api/backup/restore
  • DELETE /api/backup/:id
  • POST /api/backup/cleanup
  • GET /api/backup/latest

Update

  • GET /api/update/check
  • POST /api/update/with-crowdsec
  • POST /api/update/without-crowdsec

Services

  • GET /api/services/verify
  • POST /api/services/shutdown
  • POST /api/services/action

CrowdSec

  • GET /api/crowdsec/bouncers
  • POST /api/crowdsec/bouncers
  • DELETE /api/crowdsec/bouncers/:name
  • GET /api/crowdsec/decisions
  • POST /api/crowdsec/decisions
  • DELETE /api/crowdsec/decisions
  • POST /api/crowdsec/decisions/import
  • GET /api/crowdsec/decisions/analysis
  • GET /api/crowdsec/alerts/analysis
  • GET /api/crowdsec/alerts/:id
  • DELETE /api/crowdsec/alerts/:id
  • GET /api/crowdsec/metrics
  • POST /api/crowdsec/enroll
  • POST /api/crowdsec/enroll/finalize
  • GET /api/crowdsec/enroll/preferences
  • PUT /api/crowdsec/enroll/preferences
  • GET /api/crowdsec/status

Traefik

  • GET /api/traefik/config
  • GET /api/traefik/config-path
  • POST /api/traefik/config-path

Config

  • GET /api/config/settings
  • PUT /api/config/settings
  • GET /api/config/files/:container/:fileType

Notifications

  • GET /api/notifications/discord
  • POST /api/notifications/discord
  • GET /api/notifications/discord/preview
  • GET /api/notifications/discord/detect
  • POST /api/notifications/discord/config
  • POST /api/notifications/discord/apply

Cron

  • POST /api/cron/setup
  • GET /api/cron/list
  • DELETE /api/cron/:id

Profiles

  • GET /api/profiles
  • POST /api/profiles

Hosts

  • GET /api/hosts/list

Terminal

  • GET /api/terminal/:container

Config Validation

  • GET /api/config/validation/validate
  • GET /api/config/validation/snapshots
  • POST /api/config/validation/snapshot
  • POST /api/config/validation/restore/:type
  • POST /api/config/validation/accept/:type
  • DELETE /api/config/validation/snapshot/:type

Hub

  • GET /api/hub/list
  • POST /api/hub/upgrade
  • GET /api/hub/categories
  • GET /api/hub/:category/items
  • POST /api/hub/:category/install
  • POST /api/hub/:category/remove
  • POST /api/hub/:category/manual-apply
  • GET /api/hub/preferences
  • GET /api/hub/preferences/:category
  • PUT /api/hub/preferences/:category
  • GET /api/hub/history
  • GET /api/hub/history/:id

Simulation

  • GET /api/simulation/status
  • POST /api/simulation/toggle

Events

  • GET /api/events/ws
  • GET /api/events/sse

Documentation

For installation details, feature guides, and API reference, use the docs in docs.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Acknowledgments

  • Original bash script by hhf-technology
  • CrowdSec for the security engine
  • Traefik for reverse proxy
  • Shadcn/ui for UI components

Built with ❤️ for the CrowdSec/Pangolin community

About

A web-based management interface for CrowdSec security stack with Pangolin integration. This project replaces the bash script with a modern, user-friendly ShadcnUI built with Go and React.

Topics

Resources

Stars

Watchers

Forks

Packages