- README: step-by-step installation of web UI and agent on one host,
exactly as tested (agent after keygen, all "run" helpers before
"up -d", http PUBLIC_URL and TRUSTED_PROXY_HOPS=0 without a proxy)
- README: attach to an existing Nginx Proxy Manager in Docker – shared
network via docker-compose.override.yaml, no published port,
gw_priority so SSH to the agent keeps the source address of the own
network (otherwise from= rejects it), TLS settings, test
- install.sh --docker: the new manual jail bans in INPUT and DOCKER-USER
- Running container: helpers via "docker compose exec … python -m webui"
(run fails with "Address already in use"); troubleshooting entries
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The temporary "image not yet in the registry – build locally" hints are
removed from README, installation guide and troubleshooting.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- README: prerequisites before the quick start – base packages (curl,
git, mc optional), Docker via public-docker-installer-26.04-v1 with
compose plugin check, LXC features, packages for fail2ban hosts
- Local image build as long as the image is not in the registry yet
- Troubleshooting: missing curl/git, missing compose plugin, image pull
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
README and all guides under docs/ are now in German, with German
anchors for the cross references. Code and configuration blocks are
unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Web interface to view, ban and unban fail2ban IPs on several hosts via
SSH, generalised from the private f2b-web tool.
- Web UI (Flask/Waitress): hosts.yaml, local/OIDC/proxy authentication,
English/German UI, origin map, optional Loki/Grafana/GeoIP, CLI helpers
- Agent f2b-webctl with install.sh/uninstall.sh (dedicated user + sudo,
from= restriction, protected networks, manual jail)
- Hardened Docker image, examples, documentation, smoke test, testbed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>