From 184cc0a412d4af5b3d53d33b4698daedb32e5bf4 Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Mon, 22 Dec 2025 17:05:47 +0800 Subject: [PATCH] updated Ganymede image --- .gitea/workflows/build-jupyter-ganymede.yaml | 11 ++++++----- .gitea/workflows/build-shadowsocks-rust.yaml | 1 + jupyter-ganymede/Dockerfile | 20 +++++++++++++------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/build-jupyter-ganymede.yaml b/.gitea/workflows/build-jupyter-ganymede.yaml index e636645..95398c8 100644 --- a/.gitea/workflows/build-jupyter-ganymede.yaml +++ b/.gitea/workflows/build-jupyter-ganymede.yaml @@ -9,14 +9,16 @@ jobs: "Build Jupyter Ganymede docker images": runs-on: woryzen steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: + name: multiplatform-builder driver: docker-container + cleanup: false + platforms: | + linux/amd64 + linux/arm64 - name: Login to Gitea container registry uses: docker/login-action@v3 @@ -28,11 +30,10 @@ jobs: name: Build and push jupyter-ganymede image uses: docker/build-push-action@v6 with: + builder: multiplatform-builder context: "{{defaultContext}}:jupyter-ganymede" platforms: linux/amd64,linux/arm64 ssh: default=/home/luser/.ssh/id_ed25519 push: true pull: true tags: gitea.woggioni.net/woggioni/jupyter-ganymede:latest - cache-from: type=local,src=/home/luser/.cache/buildx - cache-to: type=local,dest=/home/luser/.cache/buildx,mode=max diff --git a/.gitea/workflows/build-shadowsocks-rust.yaml b/.gitea/workflows/build-shadowsocks-rust.yaml index ee64217..190ecc8 100644 --- a/.gitea/workflows/build-shadowsocks-rust.yaml +++ b/.gitea/workflows/build-shadowsocks-rust.yaml @@ -34,6 +34,7 @@ jobs: name: Build and push sserver-rust images aarch64 uses: docker/build-push-action@v6 with: + builder: multiplatform-builder context: "{{defaultContext}}:shadowsocks-rust" platforms: | linux/arm64 diff --git a/jupyter-ganymede/Dockerfile b/jupyter-ganymede/Dockerfile index 8b36ec8..3767e8a 100644 --- a/jupyter-ganymede/Dockerfile +++ b/jupyter-ganymede/Dockerfile @@ -1,23 +1,29 @@ -FROM alpine:3.21 AS build-base +FROM alpine:3.23 AS build-base RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \ apk update &&\ apk add python3 python3-dev pipx gcc g++ musl-dev linux-headers which curl libffi-dev git RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan -FROM build-base AS java-build +FROM --platform=$BUILDPLATFORM alpine:3.23 AS build-base-native RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \ - apk add openjdk11-jdk maven + apk update &&\ + apk add python3 python3-dev pipx gcc g++ musl-dev linux-headers which curl libffi-dev git +RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan + +FROM build-base-native AS java-build +RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \ + apk add openjdk11-jdk maven USER jovyan WORKDIR /home/jovyan #RUN curl -O https://repo1.maven.org/maven2/dev/hcf/ganymede/ganymede/2.1.2.20230910/ganymede-2.1.2.20230910.jar ADD --chown=jovyan:jovyan git@github.com:allen-ball/ganymede.git#trunk ganymede #RUN git clone https://github.com/allen-ball/ganymede.git ganymede WORKDIR /home/jovyan/ganymede -RUN --mount=type=cache,target=/home/jovyan/.m2/,uid=1000,gid=1000,sharing=locked mvn -Dmaven.test.skip=true -q package +RUN --mount=type=cache,target=/home/jovyan/.m2/,uid=1000,gid=1000,sharing=locked mvn -T 16 -Dmaven.test.skip=true -q package FROM build-base AS python-build RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \ - apk add openjdk21-jre + apk add openjdk25-jre USER jovyan WORKDIR /home/jovyan RUN python -m venv venv @@ -28,10 +34,10 @@ RUN --mount=type=bind,from=java-build,src=/home/jovyan/ganymede/ganymede/target/ java -jar /home/jovyan/ganymede.jar -i --copy-jar=true RUN --mount=type=cache,target=/home/jovyan/.cache/pip,uid=1000,gid=1000 venv/bin/pip install jupyterhub -FROM alpine:3.21 +FROM alpine:3.23 RUN --mount=type=cache,target=/var/cache/apk/,sharing=locked \ apk update &&\ - apk add python3 openjdk21-jre + apk add python3 openjdk25-jre RUN adduser jovyan -u 1000 --system -s /bin/sh -h /home/jovyan USER jovyan COPY --from=python-build /home/jovyan /home/jovyan