6 Commits

Author SHA1 Message Date
benvin a369c49457 Merge pull request 'build: source release image from fork main (scan-leader)' (#4) from benvin/upstream-ref-scanleader into main
ci/woodpecker/tag/docker Pipeline failed
Reviewed-on: #4
2026-08-12 00:30:32 +10:00
unkinben 8738315c52 build: bump UPSTREAM_REF to fork main with scan-leader
ci/woodpecker/pr/build Pipeline was successful
2026-08-11 22:03:13 +10:00
benvin ac507021f3 Merge pull request 'build: container build from the unkin jellyfin-ha-src fork' (#3) from benvin/jellyfin-ha-build into main
Reviewed-on: #3
2026-08-11 21:13:46 +10:00
unkinben 26e57c8655 ci: pin .NET SDK image to 9.0 to match global.json
ci/woodpecker/pr/build Pipeline was successful
The pinned jellyfin-ha-src fork sets global.json sdk 9.0.0 (rollForward
latestMinor), so the publish steps in build.yaml and docker.yaml must run
on the .NET 9 SDK. They referenced sdk:10.0, which fails the pinned build.
Repoint both publish steps to mcr.microsoft.com/dotnet/sdk:9.0.
2026-08-11 20:41:43 +10:00
unkinben 9f8d9014d3 build: source from the unkin jellyfin-ha-src fork
Why:
- The build should pull from our own source fork so local HA patches can be
  carried and pinned, rather than cloning the upstream GitHub tree directly.

How:
- Point the clone URL in the Makefile and both Woodpecker pipelines at
  https://git.unkin.net/unkin/jellyfin-ha-src.git.
- Keep UPSTREAM_REF at d4f9c12c22d3a640f3b0a3622b23b8cd01d044ad, which is the
  seeded fork main, so the produced image is byte-identical for now; the
  feature bump is a later change.
2026-08-11 07:25:03 +10:00
unkinben 84f9158e9b ci: push images to artifactapi registry instead of gitea
Hard switch of the docker push target from the Gitea registry to the
artifactapi local docker registry (docker-internal); the Gitea VM and its
registry are being retired. Drops the droneci/DRONECI_PASSWORD creds since
artifactapi accepts unauthenticated in-cluster pushes. Also repoints the Makefile IMAGE and README image paths.

Claude-Session: https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
2026-07-30 00:34:59 +10:00
5 changed files with 13 additions and 16 deletions
+3 -3
View File
@@ -5,11 +5,11 @@ steps:
# Clone the pinned upstream jellyfin-ha source and publish the .NET server
# into ./publish-output (consumed by Dockerfile.runtime).
- name: publish
image: mcr.microsoft.com/dotnet/sdk:10.0
image: mcr.microsoft.com/dotnet/sdk:9.0
commands:
- |
REF=$$(cat UPSTREAM_REF)
git clone https://github.com/ZoltyMat/jellyfin-ha.git src
git clone https://git.unkin.net/unkin/jellyfin-ha-src.git src
git -C src checkout "$$REF"
dotnet publish src/Jellyfin.Server/Jellyfin.Server.csproj \
-c Release -r linux-x64 --self-contained false -o ./publish-output
@@ -28,7 +28,7 @@ steps:
- name: docker-build
image: woodpeckerci/plugin-docker-buildx
settings:
repo: git.unkin.net/unkin/jellyfin-ha
repo: artifactapi.k8s.syd1.au.unkin.net/docker-internal/jellyfin-ha
dockerfile: Dockerfile.runtime
dry_run: true
depends_on: [publish]
+5 -8
View File
@@ -5,11 +5,11 @@ when:
steps:
# Same publish step as the PR pipeline: clone pinned upstream + dotnet publish.
- name: publish
image: mcr.microsoft.com/dotnet/sdk:10.0
image: mcr.microsoft.com/dotnet/sdk:9.0
commands:
- |
REF=$$(cat UPSTREAM_REF)
git clone https://github.com/ZoltyMat/jellyfin-ha.git src
git clone https://git.unkin.net/unkin/jellyfin-ha-src.git src
git -C src checkout "$$REF"
dotnet publish src/Jellyfin.Server/Jellyfin.Server.csproj \
-c Release -r linux-x64 --self-contained false -o ./publish-output
@@ -24,16 +24,13 @@ steps:
memory: 6Gi
cpu: 4
# Build the runtime image and push it to the Gitea registry.
# Build the runtime image and push it to the artifactapi local docker registry.
- name: docker
image: woodpeckerci/plugin-docker-buildx
settings:
registry: git.unkin.net
repo: git.unkin.net/unkin/jellyfin-ha
registry: artifactapi.k8s.syd1.au.unkin.net
repo: artifactapi.k8s.syd1.au.unkin.net/docker-internal/jellyfin-ha
dockerfile: Dockerfile.runtime
username: droneci
password:
from_secret: DRONECI_PASSWORD
tags:
- ${CI_COMMIT_TAG}
- latest
+2 -2
View File
@@ -1,6 +1,6 @@
.PHONY: publish build clean patch minor major
IMAGE ?= git.unkin.net/unkin/jellyfin-ha
IMAGE ?= artifactapi.k8s.syd1.au.unkin.net/docker-internal/jellyfin-ha
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo "0.0.0-dev")
REF := $(shell cat UPSTREAM_REF)
@@ -8,7 +8,7 @@ REF := $(shell cat UPSTREAM_REF)
# ./publish-output (consumed by Dockerfile.runtime). Mirrors CI.
publish:
rm -rf src publish-output
git clone https://github.com/ZoltyMat/jellyfin-ha.git src
git clone https://git.unkin.net/unkin/jellyfin-ha-src.git src
git -C src checkout $(REF)
dotnet publish src/Jellyfin.Server/Jellyfin.Server.csproj \
-c Release -r linux-x64 --self-contained false -o ./publish-output
+2 -2
View File
@@ -9,7 +9,7 @@ produces a runtime container image pushed to the Gitea registry.
## What it produces
`git.unkin.net/unkin/jellyfin-ha:<tag>` — an `mcr.microsoft.com/dotnet/aspnet:10.0` based image with ffmpeg and
`artifactapi.k8s.syd1.au.unkin.net/docker-internal/jellyfin-ha:<tag>` — an `mcr.microsoft.com/dotnet/aspnet:10.0` based image with ffmpeg and
the prebuilt `jellyfin-web` client, running the published `jellyfin-ha` server.
## Layout
@@ -26,7 +26,7 @@ the prebuilt `jellyfin-web` client, running the published `jellyfin-ha` server.
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 `git.unkin.net/unkin/jellyfin-ha:vX.Y.Z` + `:latest`.
`.woodpecker/docker.yaml` to build and push `artifactapi.k8s.syd1.au.unkin.net/docker-internal/jellyfin-ha:vX.Y.Z` + `:latest`.
## Local build
+1 -1
View File
@@ -1 +1 @@
d4f9c12c22d3a640f3b0a3622b23b8cd01d044ad
2e1e445e470c2f2c1520f66678a73faa226c2058