Skip to content

Container images

v1.1.1 introduces multi-arch container image publishing to GitHub Container Registry (ghcr.io). Every release tag triggers .github/workflows/docker-publish.yml which builds and pushes all 4 images.

Available images

Image Platforms Size Source Dockerfile
ghcr.io/rollingthunderfourtytwo-afk/fcc-backend linux/amd64, linux/arm64 ~470 MB docker/Dockerfile.backend
ghcr.io/rollingthunderfourtytwo-afk/fcc-frontend linux/amd64, linux/arm64 ~75 MB docker/Dockerfile.frontend
ghcr.io/rollingthunderfourtytwo-afk/fcc-streamlit linux/amd64, linux/arm64 ~1.4 GB docker/Dockerfile.streamlit
ghcr.io/rollingthunderfourtytwo-afk/fcc-jupyter linux/amd64 only ~9 GB docker/Dockerfile.jupyter

Why is jupyter amd64-only? The jupyter image pulls torch + CUDA libraries via sentence-transformers for the RAG + knowledge-graph notebooks. arm64 builds of that stack are slow and not in demand. File an issue if you need arm64 jupyter.

Available tags

Each release publishes the following tags to every image:

Tag Example Notes
Full version 1.1.1 Pinned to the exact git tag
Minor 1.1 Auto-moves to the latest patch in the series
Latest latest Only for releases on the default branch
Git SHA sha-89b6bd4 Exact commit hash (short)

Best practice: pin to the full version (1.1.1) in production. Use 1.1 for development/staging if you want to auto-upgrade to patches. Avoid latest unless you have automated rollback.

Pulling images

No authentication is required — the images are public:

docker pull ghcr.io/rollingthunderfourtytwo-afk/fcc-backend:1.1.1
docker pull ghcr.io/rollingthunderfourtytwo-afk/fcc-frontend:1.1.1
docker pull ghcr.io/rollingthunderfourtytwo-afk/fcc-streamlit:1.1.1
docker pull ghcr.io/rollingthunderfourtytwo-afk/fcc-jupyter:1.1.1

Verify the digest to confirm authenticity:

docker manifest inspect ghcr.io/rollingthunderfourtytwo-afk/fcc-backend:1.1.1 | head -10

Image provenance

All images are built by the docker-publish.yml GitHub Actions workflow from a verified commit on the main branch. Every image has the following labels:

  • org.opencontainers.image.source → the git repo URL
  • org.opencontainers.image.revision → the git commit SHA
  • org.opencontainers.image.version → the semver tag
  • org.opencontainers.image.created → build timestamp

Inspect with:

docker inspect ghcr.io/rollingthunderfourtytwo-afk/fcc-backend:1.1.1 \
    --format '{{json .Config.Labels}}' | jq

Offline distribution

For air-gapped environments, save + load the images:

# On a machine with internet access
docker pull ghcr.io/rollingthunderfourtytwo-afk/fcc-backend:1.1.1
docker save -o fcc-backend-1.1.1.tar ghcr.io/rollingthunderfourtytwo-afk/fcc-backend:1.1.1

# Transfer the tarball to the target host, then
docker load -i fcc-backend-1.1.1.tar

Building your own

If you want to build the images yourself (e.g. for a private registry or a custom fork):

git clone https://github.com/rollingthunderfourtytwo-afk/l2_fcc_agent_team_ext.git
cd l2_fcc_agent_team_ext
make docker-build

Tag and push to your registry:

docker tag fcc-backend:dev registry.internal/fcc-backend:1.1.1
docker push registry.internal/fcc-backend:1.1.1

Then point the Helm chart at your registry via global.imageRegistry.

See also