Set up Gitea Actions Docker build workflow #4

Open
opened 2026-02-27 23:48:29 +01:00 by timothy · 0 comments
Owner

Background

The Gitea Actions runner and container registry are now live on jazz (see server-management#172). The ersatztv-ffmpeg base image is building successfully. The main ErsatzTV repo needs its own .gitea/workflows/docker-build.yml to build the app image.

Current State

  • The repo still has upstream .github/workflows/ (docker.yml, ci.yml, etc.) — these target Docker Hub/GHCR and multi-arch (amd64/arm32/arm64)
  • No .gitea/workflows/ directory exists yet
  • The Dockerfile at docker/Dockerfile references ghcr.io/ersatztv/ersatztv-ffmpeg:7.1.1 as base image — needs updating to 192.168.1.95:3000/timothy/ersatztv-ffmpeg:7.1.1

Tasks

  • Create .gitea/workflows/docker-build.yml — simplified amd64-only build targeting the Gitea registry
  • Update docker/Dockerfile to use 192.168.1.95:3000/timothy/ersatztv-ffmpeg:7.1.1 as base image
  • Configure buildx layer caching (cache-from/cache-to) — .NET restore + build are slow without cache
  • Set REGISTRY_USER and REGISTRY_PASSWORD secrets (already done)
  • Test a full build end-to-end and verify the image runs
  • The built image should be a test container — NOT replacing the production ghcr.io/ersatztv/ersatztv:latest that's currently running

Notes

  • The upstream docker.yml is a workflow_call (called from release.yml) with multi-arch matrix builds and manifest merging — we don't need any of that, just a simple amd64 build+push
  • Build args: INFO_VERSION (version string), BUILD_CONFIG (release)
  • Depends on the ffmpeg base image being available in the registry (ersatztv-ffmpeg#1 or equivalent)
## Background The Gitea Actions runner and container registry are now live on jazz (see server-management#172). The `ersatztv-ffmpeg` base image is building successfully. The main ErsatzTV repo needs its own `.gitea/workflows/docker-build.yml` to build the app image. ## Current State - The repo still has upstream `.github/workflows/` (docker.yml, ci.yml, etc.) — these target Docker Hub/GHCR and multi-arch (amd64/arm32/arm64) - No `.gitea/workflows/` directory exists yet - The Dockerfile at `docker/Dockerfile` references `ghcr.io/ersatztv/ersatztv-ffmpeg:7.1.1` as base image — needs updating to `192.168.1.95:3000/timothy/ersatztv-ffmpeg:7.1.1` ## Tasks - [ ] Create `.gitea/workflows/docker-build.yml` — simplified amd64-only build targeting the Gitea registry - [ ] Update `docker/Dockerfile` to use `192.168.1.95:3000/timothy/ersatztv-ffmpeg:7.1.1` as base image - [ ] Configure buildx layer caching (`cache-from`/`cache-to`) — .NET restore + build are slow without cache - [ ] Set `REGISTRY_USER` and `REGISTRY_PASSWORD` secrets (already done) - [ ] Test a full build end-to-end and verify the image runs - [ ] The built image should be a **test container** — NOT replacing the production `ghcr.io/ersatztv/ersatztv:latest` that's currently running ## Notes - The upstream `docker.yml` is a `workflow_call` (called from `release.yml`) with multi-arch matrix builds and manifest merging — we don't need any of that, just a simple amd64 build+push - Build args: `INFO_VERSION` (version string), `BUILD_CONFIG` (release) - Depends on the ffmpeg base image being available in the registry (ersatztv-ffmpeg#1 or equivalent)
timothy added the ci-cdenhancementpriority: high labels 2026-03-08 23:02:34 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: timothy/ersatztv#4