WAF Auto-Block ships as a Docker image on Docker Hub (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/proteo5/waf-autoblock/llms.txt
Use this file to discover all available pages before exploring further.
proteo5/waf-autoblock). The container exposes port 8080 and reads all configuration from environment variables, making it straightforward to deploy on any Linux server with Docker installed.
Published Tags
The following image tags are currently available on Docker Hub:proteo5/waf-autoblock:latestproteo5/waf-autoblock:v0.1.0-rc1
Always validate a versioned tag first. Switch to
latest only after that validation passes.Server Folder Layout
Use a dedicated working folder on the server to keep the env file, Compose file, and SQLite data in one place:Initial Install
Create the working folder
Create the working folder and the persistent data directory in a single command:
Create the environment file
Copy the Open the file and set at minimum:
.env.example template from the repository to the server and rename it waf-autoblock.env. Fill in your Cloudflare credentials, account and zone identifiers, blocklist ID, and the rule IDs you want to monitor:Pull and run the image
Pull the versioned image and start the container with a persistent data volume and the env file:
Container Details
Understanding the container’s defaults helps when integrating it into an existing environment.Exposed Port
The container listens on port 8080. Map it to any host port with
-p <host-port>:8080.Data Volume
Mount a host path to
/app/data so the SQLite database persists across container replacements. Without this mount, block records are lost on restart.ASPNETCORE_URLS
The image already sets
ASPNETCORE_URLS=http://+:8080. Do not override this unless you change the exposed port accordingly.Restart Policy
Use
--restart unless-stopped in production so the container recovers automatically after host reboots or unexpected exits.Build a Local Image
During development you can build the image directly from the repository root instead of pulling from Docker Hub. Build the image with a local tag:data folder and supplying an env file:
--rm flag removes the container automatically when it stops, which is useful for short-lived test runs. Remove it for persistent development sessions.
Production Checklist
Before deploying to a production server, confirm each of the following:- Docker is installed on the target server.
- A dedicated working folder has been created (for example
/opt/waf-autoblock/). - The
waf-autoblock.envfile has been prepared from.env.examplewith real values. - The Cloudflare API token is scoped only to
Zone > Analytics > ReadandAccount > Account Filter Lists > Edit. Do not use a Global API Key. - The account-level IP list referenced by
Cloudflare__BlocklistIdalready exists in the Cloudflare dashboard. - The WAF custom rule that blocks
ip.src in listis already active and positioned before the lower-priority rules you want to react to. - The
data/directory has been created at the host path used for the volume mount. - A versioned image tag has been pulled and validated via
/statusbefore switching tolatest.