diff --git a/.gitea/workflows/build-harbor.yml b/.gitea/workflows/build-harbor.yml index 289a49e..2cd81bc 100644 --- a/.gitea/workflows/build-harbor.yml +++ b/.gitea/workflows/build-harbor.yml @@ -58,6 +58,9 @@ jobs: podman build --pull \ --platform "$PLATFORMS" \ --manifest "$LOCAL_MANIFEST" \ + --build-arg VERSION="${{ steps.version.outputs.version }}" \ + --build-arg REVISION="${{ github.sha }}" \ + --build-arg CREATED="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \ . podman manifest inspect "$LOCAL_MANIFEST" diff --git a/Dockerfile b/Dockerfile index cff3eb5..526a6e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,6 +30,23 @@ RUN set -eux; \ # =================================== FROM --platform=$TARGETPLATFORM alpine:3.23 AS standalone-ui +# Image metadata (OCI labels). VERSION/REVISION/CREATED are passed by CI. +ARG VERSION=dev +ARG REVISION=unknown +ARG CREATED=unknown +LABEL org.opencontainers.image.title="Fail2ban-UI" \ + org.opencontainers.image.description="Swiss-made management platform for Fail2ban, supporting local and remote (SSH/agent) Fail2ban servers." \ + org.opencontainers.image.source="https://github.com/swissmakers/fail2ban-ui" \ + org.opencontainers.image.url="https://github.com/swissmakers/fail2ban-ui" \ + org.opencontainers.image.documentation="https://github.com/swissmakers/fail2ban-ui/tree/main/docs" \ + org.opencontainers.image.vendor="Swissmakers GmbH" \ + org.opencontainers.image.authors="Swissmakers GmbH " \ + org.opencontainers.image.licenses="AGPL-3.0-only" \ + org.opencontainers.image.version="${VERSION}" \ + org.opencontainers.image.revision="${REVISION}" \ + org.opencontainers.image.created="${CREATED}" \ + org.opencontainers.image.base.name="docker.io/library/alpine:3.23" + # Install required container dependencies RUN set -eux; \ apk update; \ diff --git a/package.json b/package.json index 5fa8d24..831a9f3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fail2ban-ui", - "version": "1.5.0", + "version": "1.5.2", "description": "Fail2Ban-UI is a Swiss-made management platform for Fail2Ban. It provides a central place to monitor, configure, and manage Fail2Ban across one or more hosts, supporting both local and remote Fail2Ban servers.", "main": "index.js", "scripts": {