diff --git a/README-fork.md b/README-fork.md index 45311d80..864ecdfc 100644 --- a/README-fork.md +++ b/README-fork.md @@ -4,3 +4,17 @@ This is my personal fork of `Athou/commafeed` with some tweaks: - "Infrequent" tab - like "All" but limits to blogs w/ an average post interval greater than a user-configurable number of days - User preference to disable the swipe-to-open-menu gesture on mobile + +## Building + +Use `gmfork-build-docker.sh` to build the JVM Docker image for `linux/amd64`: + +```sh +DOCKER_REGISTRY=myregistry.example.com ./gmfork-build-docker.sh +``` + +To run locally: + +```sh +docker run -p 8082:8082 $DOCKER_REGISTRY/commafeed-fork:latest +``` diff --git a/gmfork-build-docker.sh b/gmfork-build-docker.sh new file mode 100755 index 00000000..ee2924ee --- /dev/null +++ b/gmfork-build-docker.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +set -euo pipefail + +REPO_ROOT="$(cd "$(dirname "$0")" && pwd)" +ARTIFACTS_DIR="$REPO_ROOT/artifacts" + +if [ -z "${DOCKER_REGISTRY:-}" ]; then + echo "Error: DOCKER_REGISTRY is not set" >&2 + exit 1 +fi + +# Build +cd "$REPO_ROOT" +./mvnw --batch-mode --no-transfer-progress install -Ph2 -DskipTests + +# Prepare artifacts +rm -rf "$ARTIFACTS_DIR" +mkdir -p "$ARTIFACTS_DIR" + +cp commafeed-server/target/commafeed-*-jvm.zip "$ARTIFACTS_DIR/" +unzip -q "$ARTIFACTS_DIR"/*-jvm.zip -d "$ARTIFACTS_DIR/extracted-jvm-package" +mv "$ARTIFACTS_DIR/extracted-jvm-package"/commafeed-* "$ARTIFACTS_DIR/extracted-jvm-package/quarkus-app" + +# Build image +docker build \ + --platform linux/amd64 \ + --file commafeed-server/src/main/docker/Dockerfile.jvm \ + --tag "$DOCKER_REGISTRY/commafeed-fork:latest" \ + . + +rm -rf "$ARTIFACTS_DIR" + +echo "Built: $DOCKER_REGISTRY/commafeed-fork:latest"