Or add it manually in Home Assistant (Settings → Apps → App store → ⋮ → Repositories):
https://github.com/MineTech13/ha-addons
| App | What it does | Wraps (upstream) |
|---|---|---|
| Spoolman (Ingress + Direct API) | Spoolman with HA Ingress for remote use plus a direct API port (OctoEverywhere, Moonraker, ...) | Donkie/Spoolman |
| ACE Lane Bridge (experimental) | Books filament usage per ACE slot into Spoolman via Moonraker (experimental) | xNoVoSx/kobra-spoolman |
| Kobra Vision (experimental) | AI print-failure detection (spaghetti) for the ACE Lane Bridge, Obico's model on the CPU | xNoVoSx/kobra-spoolman (vision/) |
All apps are thin wrappers around the upstream container images, pulled straight from the upstream projects' own registries (Kobra Vision is built from the upstream release tag, because upstream only publishes it as latest). This repository is not affiliated with the upstream projects.
.github/workflows/upstream-update.yml runs daily. For every app listed in scripts/upstreams.tsv it:
-
looks up the latest upstream release and checks that the container image for it is published,
-
bumps
ARG UPSTREAM_VERSIONin theDockerfile,versioninconfig.yaml(as<upstream>-0) and theCHANGELOG.md, -
builds the app and runs a smoke test (
scripts/smoke-test.sh) plus the lint checks, -
always opens a pull request
update/<app>-<version>, -
merges that pull request itself when all checks passed and the update level (patch, minor or major, from the version numbers) is allowed by the app's
auto_mergecolumn (4th column ofupstreams.tsv):auto_mergemerged automatically nonenothing, every update waits for your review patch1.2.3 → 1.2.4minorpatch and 1.2.3 → 1.3.0major(orall)everything, including 1.2.3 → 2.0.0Everything else stays open for you to review and merge. If you close an update PR without merging, that version is not offered again; the next release is.
The branch of a merged or closed pull request is deleted automatically (.github/workflows/delete-branch.yml). Optional repo secret UPDATE_TOKEN (a fine-grained token of the repo owner with Contents and Pull requests read/write on this repo): update PRs are then opened as you, so their checks start normally without needing approval.
Home Assistant offers the update once it is on main. To pin an app to a version, remove its line from upstreams.tsv.
- Create
<app>/withconfig.yaml,Dockerfile,run.sh,README.md,CHANGELOG.md,icon.png,logo.png. - Upstream-wrapping app: use
ARG UPSTREAM_VERSION=<x>+FROM <image>:${UPSTREAM_VERSION}and add a line toscripts/upstreams.tsv. Optionally add a case for it inscripts/smoke-test.sh. - Linting picks the new folder up automatically.
Our own changes to an app: bump the -<rev> suffix of version in its config.yaml by hand.
Apache-2.0, see LICENSE. Upstream projects keep their own licenses (Spoolman: MIT, kobra-spoolman: MIT, its kobra-vision service: AGPL-3.0).