feat(pleroma): update to v2.10.2 - #97
Merged
Merged
Conversation
Pleroma 2.10.2 requires Elixir ~> 1.15, so this is a toolchain upgrade, not a plain version bump. Changes: - version-lock.sh: PLEROMA_VERSION v2.9.1 -> v2.10.2; runtime BASE_IMAGE alpine:3.21.3 -> alpine:3.20.9 (aligned with the build base's alpine so the Vix/libvips NIF stays ABI-compatible under PLATFORM_PROVIDED_LIBVIPS). - release.tag: pleroma:2.9.1 -> pleroma:2.10.2. - base_images.sh: LANG_ELIXIR -> hexpm/elixir:1.17.3-erlang-26.2.5.21-alpine-3.20.9. Keeps Pleroma's tested Elixir 1.17.3, but pins Erlang 26.2.5.21 rather than upstream's 26.2.5.6: 26.2.5.6's TLS validator rejects builds.hex.pm's current Let's Encrypt chain (key_usage_mismatch on the technically-constrained intermediate), which aborts `mix local.hex` during the build; 26.2.5.21 carries the OTP fix. - Dockerfile.tpl: `import Mix.Config` -> `import Config` (required on Elixir >= 1.15); clone the pinned tag directly (`git clone -b $VER --depth 1`); add `--chmod=640` to the config.exs COPY, because 2.10.2's ReleaseRuntimeProvider refuses to boot with a world-permissioned config (matches upstream 2.10.2). Verified: native arm64 image builds, boots through the 2.10.2 config provider, and the Vix NIF loads runtime alpine 3.20.9 libvips 8.15.2. The amd64 leg is left to CI's native x86 runner (local linux/amd64 segfaults the emulated BEAM under QEMU on this Apple Silicon host). Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Ronny Trommer <ronny@no42.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Move the
pleromaimage from v2.9.1 to v2.10.2. 2.10.2'smix.exsrequires
elixir "~> 1.15", so the old Elixir 1.14.5 toolchain can no longercompile it — this is a toolchain upgrade plus config-syntax fixes, not a plain
version bump.
What changed
PLEROMA_VERSION=v2.10.2,release.tag=pleroma:2.10.2.LANG_ELIXIR→hexpm/elixir:1.17.3-erlang-26.2.5.21-alpine-3.20.9(Pleroma's tested Elixir 1.17.3). Runtime base →
alpine:3.20.9, aligned withthe build base so the Vix/libvips NIF stays ABI-compatible under
VIX_COMPILATION_MODE=PLATFORM_PROVIDED_LIBVIPS.Dockerfile.tpl→import Mix.Config→import Config(required on Elixir≥ 1.15); clone the pinned tag directly (
git clone -b $VER --depth 1); add--chmod=640to theconfig.exsCOPY.Two non-obvious fixes caught by building + smoke-testing locally
validator rejects
builds.hex.pm's current Let's Encrypt chain(
key_usage_mismatchon the technically-constrained intermediate), whichaborts
mix local.hexduring the build. Deterministic — would fail CI too.26.2.5.21 carries the OTP fix (
httpc→200,mix local.hex→OK, multi-arch).--chmod=640on the config COPY. Pleroma 2.10.2 added aReleaseRuntimeProvidercheck that refuses to boot with a world-permissioned/etc/pleroma/config.exs; without this the image builds but crashes atstartup. Matches upstream's 2.10.2 Dockerfile.
Verification
make shellcheck/make hadolint(root CI gates): exit 0.world-perm crash), and the Vix NIF loads runtime alpine 3.20.9 libvips 8.15.2
— clearing the newer-libvips ABI risk.
linux/amd64segfaultsthe emulated BEAM under QEMU on this Apple Silicon host (an emulation artifact,
not an image defect).
🤖 Generated with Claude Code