selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
Fail2Ban-Report logo

Self-host Fail2Ban-Report

0.5.0

Multi-server Fail2Ban dashboard with UFW blocklist sync

BetaOpen SourceGPL-3.0
Updatedlast year
LanguagePHP
Setup difficultyAdvanced
MobileResponsive
Stars
302
Requires
Awk, Curl, Fail2Ban, Jq, PHP, UFW
Install with Linux
Main event list view with filtering and searchBlocklist view showing per-jail IP blocksInformation message displaySecurity/admin message displayBan action confirmation message

What is Fail2Ban-Report?

Fail2Ban-Report is a self-hosted web-based dashboard for monitoring and managing Fail2Ban across multiple Linux servers. It parses Fail2Ban logs into daily JSON event files, provides searchable and filterable event reports with aggregated statistics, and enables centralized UFW IP blocklist management through a pull-based synchronization system. The backend consists of shell scripts that run via cron to process logs and sync blocklists with UFW, while the frontend is a PHP web interface with role-based authentication (admin/viewer). It supports optional integrations with AbuseIPDB and IPInfo.io for IP reputation lookups. The project is licensed under GPL-3.0 and runs on typical Linux setups including Raspberry Pi.

Should you self-host Fail2Ban-Report?

Fail2Ban-Report scores 43/100 on selfhost.directory (how scoring works) and ranks #59 of 78 in Security. It has 302 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. It is GPL-3.0-licensed and written mostly in PHP.

Its closest alternative on selfhost.directory is pentagi (83/100, 32 629 stars). It scores higher overall, so compare the two before you pick. See Fail2Ban-Report vs pentagi side by side.

Features

  • Aggregated statistics
  • Bulk Actions
  • Jail- and server-specific blocklists
  • Lightweight, no database
  • Multi-server dashboard
  • Optional AbuseIPDB integrationRequires free API key
  • Optional IPInfo.io integrationRequires free API key
  • Pending status for actions
  • Role-based authentication
  • Searchable & filterable event reports

Fail2Ban-Report README

How to install Fail2Ban-Report

Install Fail2Ban-Report with Linux

Environment variables
CLIENT_USER, CLIENT_PASS, CLIENT_UUID, ENDPOINT_URL, UPDATE_URL, DOWNLOAD_URL, BACKSYNC_URL, OUTPUT_JSON_DIR, BLOCKLIST_DIR, CLIENT_LOG

apt update -qq && apt install jq gawk curl -y -qq mkdir -p /opt/Fail2Ban-Report/Backend /opt/Fail2Ban-Report/Helper-Scripts /opt/Fail2Ban-Report/Settings /opt/Fail2Ban-Report/archive/fail2ban /opt/Fail2Ban-Report/archive/blocklists chmod +x /opt/Fail2Ban-Report/Backend/*.sh ./create-client-uuid.sh crontab -e */5 * * * * /opt/Fail2Ban-Report/Backend/Fail2Ban-Report-cronscript.sh

Runs on each Fail2Ban server to sync with central dashboard

How to configure Fail2Ban-Report

  • BACKSYNC_URLServer URL for backsync.php endpoint

    Server URL for backsync.php endpoint

  • BLOCKLIST_DIR/opt/Fail2Ban-Report/archive/blocklistsLocal path for blocklists

    Local path for blocklists

  • CLIENT_LOG/var/log/fail2ban-report-client.logClient log file path

    Client log file path

  • CLIENT_PASSPassword for your Client

    Password for your Client

  • CLIENT_USERUsername on the Server and also the Name that is Displayed in Web-UI for this Server

    Username on the Server and also the Name that is Displayed in Web-UI for this Server

  • CLIENT_UUIDUUID that was created with create-client-uuid.sh

    UUID that was created with create-client-uuid.sh

  • DOWNLOAD_URLServer URL for download.php endpoint

    Server URL for download.php endpoint

  • ENDPOINT_URLServer URL for index.php endpoint

    Server URL for index.php endpoint

  • OUTPUT_JSON_DIR/opt/Fail2Ban-Report/archive/fail2banLocal path for fail2ban JSON output

    Local path for fail2ban JSON output

  • UPDATE_URLServer URL for update.php endpoint

    Server URL for update.php endpoint

Fail2Ban-Report releases & version history

More in Log Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…