Skip to content

CI: build and publish example app images so orchestrators can pull them directly #6

Description

@rickstaa

Motivation

Each example app (echo, hello-world, sana-streaming) is currently built locally via build: . in its docker-compose.yml. To run an app on an orchestrator, the operator has to build the image themselves (clone the repo, have the toolchain, docker compose up --build).

Publishing prebuilt images would let orchestrators pull them directly — faster, reproducible, and no local build step or source checkout required.

Proposal

Add a GitHub Actions workflow that builds each app's Dockerfile and pushes a tagged image to a registry (GHCR, e.g. ghcr.io/livepeer/live-runner-example-apps/<app>).

  • One image per app — echo, hello-world, sana-streaming — via a build matrix.
  • Use docker/build-push-action + docker/login-action (GHCR token).
  • Tags: latest, git SHA, and release tag.
  • Trigger on push to main and on tags/releases (decide which).
  • Update each app's docker-compose.yml to reference the published image:, keeping build: as a local-dev fallback so the existing workflow still works.

Open questions

  • Registry: GHCR vs Docker Hub.
  • Triggers: push to main, tags, releases, or a combination.
  • Multi-arch: is arm64 needed, or amd64-only (orchestrators are typically amd64 GPU hosts)?
  • vllm: has no Dockerfile (uses an upstream image) — exclude from the matrix or document separately.

Outcome

Orchestrators can docker pull ghcr.io/livepeer/live-runner-example-apps/hello-world (and the others) and run them without building from source.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions