
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 Imagehhftechnology/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!