unkin-agent ac61265ea0
ci/woodpecker/pr/build Pipeline was successful
Route LDAP plugin through artifactapi remote for secure image builds.
Replace direct repo.jellyfin.org download with artifactapi.k8s.syd1.au.unkin.net
remote. SHA256 pin guarantees integrity over HTTP. Both plugins now consistent
in sourcing from artifactapi infrastructure.
2026-08-29 12:00:03 +10:00
2026-07-05 22:48:15 +10:00
2026-07-05 22:48:15 +10:00

jellyfin-ha (container build)

Build-orchestration repo for ZoltyMat/jellyfin-ha — a Jellyfin fork that adds distributed, Redis-backed transcoding for multi-pod Kubernetes (lease-aware cleanup, HA session takeover, optional PostgreSQL).

This repo does not vendor the fork's source. It pins an upstream commit, builds the .NET 9 server, and produces a runtime container image pushed to the Gitea registry.

What it produces

artifactapi.k8s.syd1.au.unkin.net/docker-internal/jellyfin-ha:<tag> — an mcr.microsoft.com/dotnet/aspnet:9.0 based image with ffmpeg and the prebuilt jellyfin-web client, running the published jellyfin-ha server.

Layout

File Purpose
UPSTREAM_REF Pinned upstream commit SHA. Bumping the fork = edit this + cut a release.
Dockerfile.runtime Runtime-only image; COPYs the CI-produced publish-output/ and the web client.
Makefile Local make publish / make build; make patch|minor|major to tag + push a release.
.woodpecker/build.yaml PR pipeline: dotnet publish + docker dry_run.
.woodpecker/docker.yaml Tag (v*) pipeline: dotnet publish + build & push to the Gitea registry.

Releasing

  1. To track a newer upstream, update UPSTREAM_REF to the desired commit SHA and merge via PR.
  2. Cut a release: make patch (or minor / major) tags vX.Y.Z and pushes it, which triggers .woodpecker/docker.yaml to build and push artifactapi.k8s.syd1.au.unkin.net/docker-internal/jellyfin-ha:vX.Y.Z + :latest.

Local build

make build            # clones pinned upstream, dotnet publish, docker build

Requires the .NET 9 SDK and Docker. make publish runs just the clone + publish into ./publish-output.

Deployment

Deployed to Kubernetes via ArgoCD — see argocd-apps (apps/base/jellyfin, media ApplicationSet/project).

S
Description
Container build for the jellyfin-ha (HA transcoding) Jellyfin fork
Readme 62 KiB
Languages
Makefile 60.8%
Shell 39.2%