nginx-shield
Protects NGINX Proxy Manager using Fail2Ban with a modern web-based interface.
1.0K
Protects NGINX Proxy Manager from attacks via Fail2Ban.
NGINX-SHIELD is a lightweight Docker container that enhances the security of NGINX Proxy Manager.
It integrates with Fail2Ban to block brute-force attacks, unauthorized access, and suspicious activity.
Perfect for securing your reverse proxy setup quickly and reliably.
services:
nginx-shield:
image: maxlonplay/nginx-shield:latest
container_name: nginx-shield
restart: always
environment:
# Disables the internal geolocation module (requires at least 2 GB of RAM when active). Set to "true", "1", or "yes" to disable.
- DISABLE_INTERNAL_GEOLOCATE=false
# External geolocation server (standalone). Format: "ip:port" (e.g. "192.168.1.10:8881")
# If set, the internal module will NOT start and all geo requests will be forwarded to the external server.
# Leave empty to use the internal module (requires DISABLE_INTERNAL_GEOLOCATE=false).
- USE_EXTERNAL_GEOLOCATE=
# GeoIP language code for country names ('it' for Italian, 'en' for English, 'fr' for French, 'es' for Spanish, 'de' for German)
- GEOIP_LANG=it
volumes:
# Nginx access and error logs directory (required for log monitoring and analysis)
- /dockers/npm/data/logs:/app/nginx-logs
# Fail2Ban socket directory (required to interact with Fail2Ban on the host)
- /var/run/fail2ban:/var/run/fail2ban
# Persistent data for nginx-shield (e.g., configuration, blocklists, etc.)
- /nginx-shield/data:/app/data
# Sync container time with host system time (read-only)
- /etc/localtime:/etc/localtime:ro
ports:
# Web interface / API port
- "8000:8000"
# - "8881:8881" # Uncomment if you want to expose the API port for the geolocate service (if enabled)
Content type
Image
Digest
sha256:f1cdc6a74…
Size
144.1 MB
Last updated
3 months ago
docker pull maxlonplay/nginx-shield