u/riverflow2025

CrowdSec Manager v2.4.0 - GeoIP-Enriched CrowdSec/Traefik Dashboards, Web UI, and Android App Exclusive Pangolin users

CrowdSec Manager v2.4.0 - GeoIP-Enriched CrowdSec/Traefik Dashboards, Web UI, and Android App Exclusive Pangolin users

CrowdSec Manager v2.4.0 is out.

This release brings a major visibility upgrade with optional GeoIP enrichment for dashboard data. When configured, CrowdSec Manager enriches both CrowdSec and Traefik dashboard views with location and network context (country, ASN, etc.). Instead of just raw IPs, you get much better insight into where your traffic, alerts, bans, and repeat offenders are coming from.

Big focus in v2.4.0: GeoIP-enriched dashboards

  • Optional GeoIP enrichment for CrowdSec and Traefik analytics
  • Country + network context for alerts, decisions, and logs
  • Improved visibility into attack origins and suspicious traffic
  • More useful dashboard breakdowns and charts
  • Completely optional — works perfectly without GeoIP

Other new changes in v2.4.0

  • New CrowdSec and Traefik log analytics dashboards
  • Decision history analysis with charts and breakdowns
  • Bulk decision deletion
  • Improved decision reapply flows
  • Better alert and decision cache invalidation
  • Shared generated API types between backend, web UI, and mobile app
  • Manager update card in the UI
  • Refreshed Android app branding and navigation
  • Android app updated to v2.4.0 and now marked stable
  • More backend, web, and mobile test coverage

Docker Image
hhftechnology/crowdsec-manager:2.4.0

Recommended Setup: Pangolin VPN

Keep CrowdSec Manager private and access it securely over your Pangolin/WireGuard VPN (do not expose it directly to the internet).

Example Docker Compose (Pangolin + GeoIP):

services:
  crowdsec-manager:
    image: hhftechnology/crowdsec-manager:2.4.0
    container_name: crowdsec-manager
    restart: unless-stopped
    ports:
      - "<PANGOLIN_VPN_IP>:8080:8080"
    environment:
      - PORT=8080
      - ENVIRONMENT=production
      - TRAEFIK_DYNAMIC_CONFIG=/etc/traefik/dynamic_config.yml
      - TRAEFIK_CONTAINER_NAME=traefik
      - TRAEFIK_STATIC_CONFIG=/etc/traefik/traefik_config.yml
      - GEOIP_DATABASE_PATH=/app/geoip/GeoLite2-City.mmdb
      - CROWDSEC_METRICS_URL=http://crowdsec:6060/metrics
      - ALERT_LIST_LIMIT=5000
    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
      - ./geoip/GeoLite2-City.mmdb:/app/geoip/GeoLite2-City.mmdb:ro
    networks:
      - pangolin

networks:
  pangolin:
    external: true

Alternative: Access via Tailscale

services:
  tailscale:
    image: tailscale/tailscale:latest
    container_name: tailscale-crowdsec
    hostname: crowdsec-manager-ts
    environment:
      - TS_AUTHKEY=your_auth_key_here
      - TS_STATE_DIR=/var/lib/tailscale
    volumes:
      - tailscale-data:/var/lib/tailscale
      - /dev/net/tun:/dev/net/tun
    cap_add:
      - net_admin
      - sys_module
    ports:
      - "127.0.0.1:8080:8080"
    networks:
      pangolin:
        aliases:
          - crowdsec-manager
    restart: unless-stopped

  crowdsec-manager:
    image: hhftechnology/crowdsec-manager:2.4.0
    container_name: crowdsec-manager
    network_mode: service:tailscale
    restart: unless-stopped
    environment:
      - PORT=8080
      - ENVIRONMENT=production
      - TRAEFIK_DYNAMIC_CONFIG=/etc/traefik/dynamic_config.yml
      - TRAEFIK_CONTAINER_NAME=traefik
      - TRAEFIK_STATIC_CONFIG=/etc/traefik/traefik_config.yml
      - GEOIP_DATABASE_PATH=/app/geoip/GeoLite2-City.mmdb
      - CROWDSEC_METRICS_URL=http://crowdsec:6060/metrics
      - ALERT_LIST_LIMIT=5000
    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
      - ./geoip/GeoLite2-City.mmdb:/app/geoip/GeoLite2-City.mmdb:ro
    depends_on:
      tailscale:
        condition: service_started

networks:
  pangolin:
    external: true

volumes:
  tailscale-data:
    driver: local

GeoIP Setup
Download the free GeoLite2-City.mmdb from MaxMind and mount it as shown above.

Links
GitHub: https://github.com/hhftechnology/crowdsec_manager
Forums: https://forum.hhf.technology Cord: https://discord.gg/HDCt9MjyMJ
Pangolin VPN Discussion: https://github.com/hhftechnology/crowdsec_manager/discussions/31

I’m looking for feedback, especially on the new GeoIP dashboards and the Android app. Bug reports and feature ideas are very welcome!

https://preview.redd.it/awzawmkuv40h1.png?width=1080&format=png&auto=webp&s=9c9372d48a3728639a7debf286b9132b99ead17b

https://preview.redd.it/pc8kinkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=c46cafcccfc80778da318e8c6713e6f0c40c35fb

https://preview.redd.it/fe2hemkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=0794cf18878878607144f1b03695f1b51641a15f

https://preview.redd.it/8jztjmkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=c17eb7fd1e843b1af01bfcdd557a1c9ef0035bc7

https://preview.redd.it/oa8q4tkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=17373f9fdcd1bc6fe3b7e6d32092362546fbabee

https://preview.redd.it/mj9j9nkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=ff64886ee95b7a98004337939a2895029859b7b5

reddit.com
u/riverflow2025 — 5 days ago