ci: Add OCI Image Specification Labels to Dockerfile (#1636)

* ci: Add OCI labels to Dockerfile

Added OCI labels for metadata and documentation.

* ci: Add APP_VERSION and APP_REVISION arguments

Added ARG directives for application version and revision to Dockerfile.

* ci: Add APP_REVISION build argument to Docker build
This commit is contained in:
Trevor Swanson
2025-11-26 19:47:52 -05:00
committed by GitHub
parent 5abed1ad53
commit f8270d7f90
2 changed files with 16 additions and 1 deletions

View File

@@ -167,6 +167,7 @@ jobs:
docker buildx build \
--platform linux/amd64,linux/arm64 \
--build-arg APP_VERSION=${{ env.image_tag }} \
--build-arg APP_REVISION=${{ github.sha }} \
--tag booklore/booklore:${{ env.image_tag }} \
--tag ghcr.io/booklore-app/booklore:${{ env.image_tag }} \
--push .

View File

@@ -31,6 +31,20 @@ RUN gradle clean build -x test
# Stage 3: Final image
FROM eclipse-temurin:25-jre-alpine
ARG APP_VERSION
ARG APP_REVISION
# Set OCI labels
LABEL org.opencontainers.image.title="BookLore" \
org.opencontainers.image.description="BookLore: A self-hosted, multi-user digital library with smart shelves, auto metadata, Kobo & KOReader sync, BookDrop imports, OPDS support, and a built-in reader for EPUB, PDF, and comics." \
org.opencontainers.image.source="https://github.com/booklore-app/booklore" \
org.opencontainers.image.url="https://github.com/booklore-app/booklore" \
org.opencontainers.image.documentation="https://booklore-app.github.io/booklore-docs/docs/getting-started" \
org.opencontainers.image.version=$APP_VERSION \
org.opencontainers.image.revision=$APP_REVISION \
org.opencontainers.image.licenses="GPL-3.0" \
org.opencontainers.image.base.name="docker.io/library/eclipse-temurin:25-jre-alpine"
RUN apk update && apk add nginx gettext su-exec
COPY ./nginx.conf /etc/nginx/nginx.conf