diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eb805489..31ef35cb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -147,6 +147,15 @@ jobs: with: name: artifact_sxtnode path: target/release/ + - name: Patch ELF interpreter for Ubuntu base image + run: | + set -eux + sudo apt-get update -qq + sudo apt-get install -qq -y patchelf file + chmod +x target/release/sxt-node + file target/release/sxt-node + patchelf --set-interpreter /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 target/release/sxt-node + file target/release/sxt-node - name: Build and Release Dockerfile env: VERSION: ${{ needs.setup.outputs.VERSION }} diff --git a/sxtnode.Dockerfile b/sxtnode.Dockerfile index 6821de91..8810bdd6 100644 --- a/sxtnode.Dockerfile +++ b/sxtnode.Dockerfile @@ -1,5 +1,7 @@ # Build SxT Node Image -FROM docker.io/parity/base-bin:latest +# Ubuntu 24.04 LTS provides glibc 2.39, which covers all GLIBC symbol +# versions referenced by the Nix-built binary. See PR #198. +FROM docker.io/library/ubuntu:24.04 # Switch to root user to make system-wide changes USER root @@ -9,8 +11,9 @@ RUN useradd -m -u 1001 -U -s /bin/sh -d /sxtuser sxtuser && \ mkdir -p /data /key /sxtuser/.local/share && \ chown -R sxtuser:sxtuser /data /key && \ ln -s /data /sxtuser/.local/share/sxtuser && \ - apt-get update --allow-insecure-repositories && \ + apt-get update && \ apt-get install -y \ + ca-certificates \ curl \ apache2-utils \ && apt-get clean && \