Docs: prerequisites, docker installer and first-run errors

- 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>
This commit is contained in:
schiwagoaandClaude Opus 5.5 committed 2026-10-25 17:05:58 +01:00
1 parent 019c74a418
commit 97b0c14dac
3 files changed
+87 -7

No files matched your search

+15 -1
View File
@@ -9,7 +9,11 @@ Die Agenten auf den fail2ban-Hosts sind in [agent.md](agent.md) beschrieben; du
## 1. Voraussetzungen
- Docker Engine mit Compose v2 (`docker compose version`)
- Grundpakete `curl` und `git` (`apt install -y curl git`; `mc` optional) – in frischen
LXC-Templates fehlt `curl`
- Docker Engine mit Compose-Plugin (`docker compose version`), z. B. über den
[Docker-Installer](https://git.retronerd.at/schiwagoa/public-docker-installer-26.04-v1) –
Details in den [Voraussetzungen im README](../README.md#voraussetzungen)
- Ausgehendes SSH (TCP 22 oder dein Port) vom Docker-Host zu jedem fail2ban-Host
- Ein DNS-Name und ein Reverse Proxy mit TLS für die Oberfläche (siehe [reverse-proxy.md](reverse-proxy.md))
@@ -105,6 +109,16 @@ networks:
Läuft der Reverse Proxy auf einer anderen Maschine, den Port stattdessen an die LAN-Adresse
binden, z. B. `"192.168.1.10:8080:8080"` – niemals ohne Firewall davor an `0.0.0.0`.
Solange das Image in der Registry noch nicht veröffentlicht ist, schlägt der Download fehl
(`manifest unknown` bzw. `pull access denied`). Dann das Image einmalig lokal unter demselben
Namen bauen:
```bash
git clone https://git.retronerd.at/schiwagoa/fail2ban-webui.git /opt/fail2ban-webui-src
docker build -f /opt/fail2ban-webui-src/docker/Dockerfile --build-arg VERSION=dev \
-t git.retronerd.at/schiwagoa/fail2ban-webui:latest /opt/fail2ban-webui-src
```
## 4. .env
Mit dieser minimalen Datei beginnen; alle Optionen stehen in
+3
View File
@@ -133,6 +133,9 @@ ein präparierter Benutzername kann also keine zweite Logzeile einschleusen.
| Symptom | Ursache / Lösung |
|---|---|
| `curl: command not found` / `git: command not found` | frisches Minimal-System (z. B. LXC-Template) → `apt install -y curl git` |
| `docker: 'compose' is not a docker command` | nur das eigenständige `docker-compose` vorhanden → `apt install -y docker-compose-plugin` |
| `manifest unknown` / `pull access denied` beim Start | Image noch nicht in der Registry → lokal bauen, siehe [Installation, Schritt 3](installation.md#3-docker-composeyaml) |
| Container beendet sich: `… is not writable for UID 10050` | `chown -R 10050:10050 data` |
| Container beendet sich: `AUTH_MODE=local needs AUTH_PASSWORD_HASH` | `hash-password` ausführen, Zeile mit einfachen Anführungszeichen einfügen |
| Container beendet sich: `No hosts configured` | `config/hosts.yaml` fehlt oder ist leer; unter Windows/Docker Desktop: das Laufwerk lässt sich nicht einbinden |