From 98c6d40be065504552a89d6418f23d4578b2242a Mon Sep 17 00:00:00 2001 From: Michael Reber Date: Sun, 11 Jan 2026 20:38:02 +0100 Subject: [PATCH] Changed default image to swissmakers/fail2ban-ui:latest with swissmakers registry as a commented fallback --- .gitea/workflows/build-harbor.yml | 35 +++++++++++++++++++++++++---- README.md | 16 ++++++++----- deployment/container/README.md | 18 +++++++++++---- deployment/systemd/README.md | 2 +- docker-compose-allinone.example.yml | 8 +++++-- docker-compose.example.yml | 7 ++++-- 6 files changed, 67 insertions(+), 19 deletions(-) diff --git a/.gitea/workflows/build-harbor.yml b/.gitea/workflows/build-harbor.yml index 11cfa05..5b1ea61 100644 --- a/.gitea/workflows/build-harbor.yml +++ b/.gitea/workflows/build-harbor.yml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Login to Harbor (Robot) + - name: Login to Swissmakers Registry if: ${{ secrets.HARBOR_REGISTRY && secrets.HARBOR_USERNAME && secrets.HARBOR_PASSWORD }} env: REGISTRY: ${{ secrets.HARBOR_REGISTRY }} @@ -21,8 +21,7 @@ jobs: mkdir -p "$HOME/.config/containers" echo "$ROBOT_PASS" | podman login --username "$ROBOT_USER" --password-stdin "$REGISTRY" - - - name: Build & tag + - name: Build & tag for Swissmakers Registry env: REG: ${{ secrets.HARBOR_REGISTRY }} PROJ: ${{ secrets.HARBOR_PROJECT }} @@ -30,10 +29,38 @@ jobs: podman build -t $REG/$PROJ/fail2ban-ui:${{ github.sha }} . podman tag $REG/$PROJ/fail2ban-ui:${{ github.sha }} $REG/$PROJ/fail2ban-ui:latest - - name: Push + - name: Push to Swissmakers Registry env: REG: ${{ secrets.HARBOR_REGISTRY }} PROJ: ${{ secrets.HARBOR_PROJECT }} run: | podman push $REG/$PROJ/fail2ban-ui:${{ github.sha }} podman push $REG/$PROJ/fail2ban-ui:latest + + - name: Login to Docker Hub + if: ${{ secrets.DOCKERHUB_USERNAME && secrets.DOCKERHUB_TOKEN }} + env: + DH_USER: ${{ secrets.DOCKERHUB_USERNAME }} + DH_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + run: | + echo "$DH_TOKEN" | podman login docker.io --username "$DH_USER" --password-stdin + + - name: Re-tag the build image for Docker Hub + if: ${{ secrets.DOCKERHUB_USERNAME && secrets.DOCKERHUB_TOKEN }} + env: + REG: ${{ secrets.HARBOR_REGISTRY }} + PROJ: ${{ secrets.HARBOR_PROJECT }} + DH_NS: ${{ secrets.DOCKERHUB_USERNAME }} + DH_REPO: fail2ban-ui + run: | + podman tag $REG/$PROJ/fail2ban-ui:${{ github.sha }} docker.io/$DH_NS/$DH_REPO:${{ github.sha }} + podman tag $REG/$PROJ/fail2ban-ui:${{ github.sha }} docker.io/$DH_NS/$DH_REPO:latest + + - name: Push to Docker Hub + if: ${{ secrets.DOCKERHUB_USERNAME && secrets.DOCKERHUB_TOKEN }} + env: + DH_NS: ${{ secrets.DOCKERHUB_USERNAME }} + DH_REPO: fail2ban-ui + run: | + podman push docker.io/$DH_NS/$DH_REPO:${{ github.sha }} + podman push docker.io/$DH_NS/$DH_REPO:latest \ No newline at end of file diff --git a/README.md b/README.md index e796bee..1d606ce 100644 --- a/README.md +++ b/README.md @@ -250,12 +250,16 @@ Comprehensive settings management for alerts, advanced banning, and system prefe **Option A: Using Pre-built Image** -Pull and run the official image: +Pull and run the official image from Docker Hub: ```bash -# Pull the image -podman pull registry.swissmakers.ch/infra/fail2ban-ui:latest +# Pull the image from Docker Hub (default) +podman pull swissmakers/fail2ban-ui:latest # or with Docker: -docker pull registry.swissmakers.ch/infra/fail2ban-ui:latest +docker pull swissmakers/fail2ban-ui:latest + +# Alternative: Pull from Swissmakers registry (fallback) +# podman pull registry.swissmakers.ch/infra/fail2ban-ui:latest +# docker pull registry.swissmakers.ch/infra/fail2ban-ui:latest # Run the container podman run -d \ @@ -265,7 +269,7 @@ podman run -d \ -v /etc/fail2ban:/etc/fail2ban:Z \ -v /var/log:/var/log:ro \ -v /var/run/fail2ban:/var/run/fail2ban \ - registry.swissmakers.ch/infra/fail2ban-ui:latest + swissmakers/fail2ban-ui:latest ``` **Option B: Build from Source** @@ -320,7 +324,7 @@ podman run -d \ -v /etc/fail2ban:/etc/fail2ban:Z \ -v /var/log:/var/log:ro \ -v /var/run/fail2ban:/var/run/fail2ban \ - registry.swissmakers.ch/infra/fail2ban-ui:latest + swissmakers/fail2ban-ui:latest ``` Access the web interface at `http://localhost:3080`. diff --git a/deployment/container/README.md b/deployment/container/README.md index da2c540..b81321a 100644 --- a/deployment/container/README.md +++ b/deployment/container/README.md @@ -19,7 +19,14 @@ A comprehensive guide for building and deploying Fail2Ban UI using containers (D ### Using Pre-built Image -**Pull the official image:** +**Pull the official image from Docker Hub (default):** +```bash +podman pull swissmakers/fail2ban-ui:latest +# or with Docker: +docker pull swissmakers/fail2ban-ui:latest +``` + +**Alternative: Pull from Swissmakers registry (fallback):** ```bash podman pull registry.swissmakers.ch/infra/fail2ban-ui:latest # or with Docker: @@ -35,7 +42,7 @@ podman run -d \ -v /etc/fail2ban:/etc/fail2ban:Z \ -v /var/log:/var/log:ro \ -v /var/run/fail2ban:/var/run/fail2ban \ - registry.swissmakers.ch/infra/fail2ban-ui:latest + swissmakers/fail2ban-ui:latest ``` Access the web interface at `http://localhost:8080` (or your configured port). @@ -262,8 +269,11 @@ For easier management, you can use Docker Compose. Create a `docker-compose.yml` ```yaml services: fail2ban-ui: - # Use pre-built image from registry - image: registry.swissmakers.ch/infra/fail2ban-ui:latest + # Use pre-built image from Docker Hub (default) + image: swissmakers/fail2ban-ui:latest + + # Alternative: Use Swissmakers registry (fallback) + # image: registry.swissmakers.ch/infra/fail2ban-ui:latest # Or build from source (uncomment to use): # build: diff --git a/deployment/systemd/README.md b/deployment/systemd/README.md index 979eb2a..d812841 100644 --- a/deployment/systemd/README.md +++ b/deployment/systemd/README.md @@ -146,7 +146,7 @@ ExecStart=/usr/bin/podman run --rm \ -v /etc/fail2ban:/etc/fail2ban:Z \ -v /var/log:/var/log:ro \ -v /var/run/fail2ban:/var/run/fail2ban \ - registry.swissmakers.ch/infra/fail2ban-ui:latest + swissmakers/fail2ban-ui:latest Restart=always RestartSec=10s diff --git a/docker-compose-allinone.example.yml b/docker-compose-allinone.example.yml index 9a06ae7..8e8269f 100644 --- a/docker-compose-allinone.example.yml +++ b/docker-compose-allinone.example.yml @@ -26,8 +26,12 @@ services: restart: unless-stopped fail2ban-ui: - image: registry.swissmakers.ch/infra/fail2ban-ui:latest - #image: localhost/fail2ban-ui:dev + # Use pre-built image from Docker Hub (default) + image: swissmakers/fail2ban-ui:latest + # Alternative: Use Swissmakers registry (fallback) + # image: registry.swissmakers.ch/infra/fail2ban-ui:latest + # Or build from source (uncomment to use): + # image: localhost/fail2ban-ui:dev container_name: fail2ban-ui privileged: true # needed because the fail2ban-ui container needs to modify the fail2ban config owned by root inside the linuxserver-fail2ban container network_mode: host diff --git a/docker-compose.example.yml b/docker-compose.example.yml index 694c1a5..054bc7d 100644 --- a/docker-compose.example.yml +++ b/docker-compose.example.yml @@ -1,7 +1,10 @@ services: fail2ban-ui: - # Use pre-built image from registry - image: registry.swissmakers.ch/infra/fail2ban-ui:latest + # Use pre-built image from Docker Hub (default) + image: swissmakers/fail2ban-ui:latest + + # Alternative: Use Swissmakers registry (fallback) + # image: registry.swissmakers.ch/infra/fail2ban-ui:latest # Or build from source (uncomment to use): # build: