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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions