Files
jellypod/Dockerfile.build
T
dtourolleandClaude Opus 5.5 07e819c77d
🏗️ Build Plugin / build (push) Successful in 2m4s
ci: run on any runner, amd64 or arm64
The builder image is now multi-arch (linux/amd64 + linux/arm64). Both
variants were tested by running this repo's own CI build steps in each
before being pushed as :latest. Jobs therefore no longer need an amd64
host: runs-on moves to ubuntu-latest, which the amd64 runner (draco-x86)
and the ARM runner (oracle-a1) both carry, so jobs go to whichever is
free instead of queueing behind long jobs on draco.

The Dockerfile header now gives the buildx command for the multi-arch
image, so a rebuild does not silently go back to amd64-only.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 04:12:35 +02:00

29 lines
1.0 KiB
INI

# Multi-arch (amd64 + arm64): CI runs on ubuntu-latest, which both the amd64 and the
# ARM runners carry, so the image must exist for both.
# Build + push (needs a docker-container buildx builder and arm64 binfmt/QEMU):
# docker buildx build -f Dockerfile.build --platform linux/amd64,linux/arm64 \
# -t gitea.tourolle.paris/dtourolle/jellypod-builder:latest --push .
FROM mcr.microsoft.com/dotnet/sdk:10.0
# Install Python, Node.js, and tools
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
jq \
git \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/*
# The .NET 10 SDK builds the net10.0 (Jellyfin 12.0) target; the .NET 8 SDK is
# needed alongside it for the net8.0 (Jellyfin 10.9) target.
RUN curl -sSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh \
&& bash /tmp/dotnet-install.sh --channel 8.0 --install-dir /usr/share/dotnet --no-path \
&& rm /tmp/dotnet-install.sh
# Install JPRM
RUN pip install --break-system-packages jprm
WORKDIR /src