From 32c793b2ebf32b8cf38190a174423157b4b62f80 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Sat, 28 Feb 2026 07:18:44 -0500 Subject: [PATCH] fix: upgrade runtime to Ubuntu Noble + Java 25 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit signal-cli master (0.14.0-SNAPSHOT) is compiled with GraalVM 25 / Java 25. The JVM launcher (`signal-cli`) requires a Java 25 runtime, but the previous image used Ubuntu Jammy with openjdk-21-jre. - Base image: ubuntu:jammy → ubuntu:noble (24.04 LTS) - JRE: openjdk-21-jre → openjdk-25-jre - netcat → netcat-openbsd (no transitional package on Noble) - Remove default `ubuntu` user (UID/GID 1000 conflict on Noble) --- Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index bec387e..8c6b802 100644 --- a/Dockerfile +++ b/Dockerfile @@ -167,7 +167,7 @@ RUN cd /tmp/signal-cli-rest-api-src && go build -buildmode=plugin -o signal-cli- # is fixed we use the standard ubuntu image #FROM eclipse-temurin:21-jre-jammy -FROM ubuntu:jammy +FROM ubuntu:noble ENV GIN_MODE=release @@ -181,7 +181,7 @@ ENV SIGNAL_CLI_REST_API_PLUGIN_SHARED_OBJ_DIR=/usr/bin/ RUN dpkg-reconfigure debconf --frontend=noninteractive \ && apt-get update \ - && apt-get install -y --no-install-recommends util-linux supervisor netcat openjdk-21-jre curl locales \ + && apt-get install -y --no-install-recommends util-linux supervisor netcat-openbsd openjdk-25-jre curl locales \ && rm -rf /var/lib/apt/lists/* COPY --from=buildcontainer /tmp/signal-cli-rest-api-src/signal-cli-rest-api /usr/bin/signal-cli-rest-api @@ -192,7 +192,8 @@ COPY --from=buildcontainer /tmp/signal-cli-rest-api-src/signal-cli-rest-api_plug COPY entrypoint.sh /entrypoint.sh -RUN groupadd -g 1000 signal-api \ +RUN userdel -r ubuntu 2>/dev/null || true \ + && groupadd -f -g 1000 signal-api \ && useradd --no-log-init -M -d /home -s /bin/bash -u 1000 -g 1000 signal-api \ && ln -s /opt/signal-cli-${SIGNAL_CLI_VERSION}/bin/signal-cli /usr/bin/signal-cli \ && ln -s /opt/signal-cli-${SIGNAL_CLI_VERSION}/bin/signal-cli-native /usr/bin/signal-cli-native \