Files
jellyfin-srfPlay/Dockerfile.builder
dtourolleandClaude Opus 5.5 3c321b4036
🧪 Test Plugin / test (push) Successful in 13m13s
Nightly Build / nightly-build (push) Successful in 1m35s
🏗️ Build Plugin / build (push) Successful in 12m26s
ci: run on any runner, amd64 or arm64
The builder image is now multi-arch (linux/amd64 + linux/arm64, pushed
as srfplay-builder:latest after building all three plugin zips in each
variant), so jobs no longer need an amd64 host. runs-on moves from
linux/amd64 to ubuntu-latest, which draco-x86, freebox and oracle-a1
all carry, so a job no longer waits behind long jobs on draco while
the ARM runners sit idle.

.gitea/runner/cloud-init.yaml sets up such a runner on an Oracle Cloud
Always Free Ampere VM (Ubuntu 24.04): Docker, act_runner registered
instance-wide with the instance's label set, and a weekly image prune.
The registration token and the optional console password hash are
placeholders here and must be filled in locally before use.

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

23 lines
749 B
Docker

# SRFPlay Builder Image
# Pre-built image with .NET SDK and JPRM for building Jellyfin plugins
# Multi-arch (amd64 + arm64) so runners on ARM hosts such as Oracle Cloud's free
# Ampere VMs can use it too; the plugin DLLs it produces are identical either way.
# Build + push (needs a docker-container buildx builder and arm64 binfmt/QEMU):
# docker buildx build -f Dockerfile.builder --platform linux/amd64,linux/arm64 \
# -t gitea.tourolle.paris/dtourolle/srfplay-builder:latest --push .
FROM mcr.microsoft.com/dotnet/sdk:10.0
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
git \
jq \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/*
RUN pip install --break-system-packages jprm
WORKDIR /src