Files
ops-docs/app-inventory.md
T

5.9 KiB

Cloudron app inventory

The co-op's Cloudron server carries 19 apps. Before 2026-11-02 it carried 16; the three added since the migration are the docs site, the CI server and the CI agent (marked NEW below).

Source of truth: read it from the running apps, not from memory or a sibling deploy. GET https://my.inference.coop/api/v1/apps returns every app with its id, fqdn, install state and — inside manifest — dockerImage. The app record's own top-level image field is null; the CLI's list output does not carry the image at all. The registry paths are per-app and not uniform (there are three different namespaces in use — see below), and a path copied from a remembered deploy of a different app points the update at a repository that does not hold it.

Verified against the live API 2026-11-04.

The 19 apps

FQDN App id Label Image (pin) Install
inference.coop 55f5f904-3233-44de-ad7b-5dc7c8533b75 — cloudron/io.cloudron.surfer:202611021342220000 store (Surfer — marketing site)
chat.inference.coop 4023ccbf-d57a-4500-97df-14de9cf3516e AI Chat registry.inference.coop/co-op/librechat-custom:20261106-c2aec74 custom (LibreChat overlay)
chat-legacy.inference.coop 50ae6c97-e851-4d17-b013-51ca7a4e5be0 Legacy AI Chat cloudron/com.openwebui.cloudronapp:202611040420410000 store (Open WebUI)
portal.inference.coop d4f05e4b-75c6-492e-9faf-7afb0712fc94 — registry.inference.coop/code/member-portal:20261108-2954fe60 custom
dashboard.inference.coop daf8750e-2683-4104-83ea-f77d1b4601e8 Dashboard registry.inference.coop/code/member-dashboard:20261108-1e6e9e48 custom
panel.inference.coop ae187071-7a43-4a6e-8a02-986609a66a1a Admin Panel registry.inference.coop/code/admin-panel:20261108-b23cc67 custom
gateway.inference.coop adababd4-2427-4bdd-9bf7-6bdad0302610 LiteLLM registry.inference.coop/local/ai.coop.litellm:20261109-c43d45c custom
matrix.inference.coop aa6f4597-6206-4509-b32e-c89750b2c1d8 Matrix Chat cloudron/org.matrix.synapse:202611030719520000 store (Synapse)
git.inference.coop c91c13aa-30ed-4af9-9599-7a87ab4f221d Code cloudron/io.gitea.cloudronapp:202611011719500000 store (Gitea)
registry.inference.coop c257ba3c-6737-4375-ad51-ea19586bf3f0 — cloudron/io.cloudron.container-registry:202610221511140000 store (container registry)
vault.inference.coop cb838bcf-f2e2-4670-b117-dca04b0ee957 — cloudron/com.github.bitwardenrs:202611020820270000 store (Vaultwarden)
forum.inference.coop 8b1a972c-08af-4e92-852c-d573c37b01ad Forum cloudron/org.loomio.cloudronapp:202611050321160000 store (Loomio)
newsletter.inference.coop eed2217c-b165-430e-bc29-7ccfef9b11e4 — cloudron/app.listmonk.cloudronapp:202610220221130000 store (Listmonk)
search.inference.coop d7c73fff-ee42-4db0-98c0-4ce7a8ab35cc — cloudron/io.github.ascimoo.searx:202611012319290000 store (SearXNG)
cloud.inference.coop fd261d67-b790-424f-9e82-f74883ee8585 — cloudron/com.nextcloud.cloudronapp:202610211606270000 store (Nextcloud)
email.inference.coop fbb256b9-ead3-41d8-bee0-d5ea87149436 — cloudron/io.cloudron.mail:202610261602550000 store (Cloudron mail UI)
docs.inference.coop 85b7ce06-e2af-49a4-bd4f-a9c2e692e3ab Docs cloudron/io.cloudron.surfer:202611021342220000 store (Surfer) — NEW 2026-11-03
ci.inference.coop 4984f95e-0c0a-4af3-9ce1-4ca4f3e8483d Woodpecker cloudron/org.woodpecker_ci.cloudronapp:202610300219490000 store (Woodpecker server) — NEW 2026-11-03
ci-agent.inference.coop 5ac63873-cf2c-4ad9-acd6-81dc0e016c83 — registry.inference.coop/co-op/woodpecker-agent:20261104-e070275 custom (Woodpecker agent) — NEW 2026-11-03

(my.inference.coop is the Cloudron dashboard hostname — the platform itself, not an app object — so it does not appear here.)

Registry namespaces — they are NOT uniform

Five custom apps pull from four different namespaces. Deriving one path from another app's pattern deploys the wrong (or a missing) image:

App Registry path
chat (LibreChat overlay) registry.inference.coop/co-op/librechat-custom
CI agent registry.inference.coop/co-op/woodpecker-agent
member portal registry.inference.coop/code/member-portal
member dashboard registry.inference.coop/code/member-dashboard
gateway (LiteLLM) registry.inference.coop/local/ai.coop.litellm
admin panel local/coop.inference.admin-panel

Correcting a stale memory: the portal is code/member-portal (not co-op/member-portal), and the admin panel is local/coop.inference.admin-panel (not code/admin-panel). Both were cited wrongly in earlier notes; the values above are read from the running apps.

Store vs custom, and what that decides

Six apps are custom installs (packaged by us, appStoreId == ""): chat, CI agent, portal, dashboard, panel, gateway. Custom apps get no automatic update (Cloudron says "not available for custom apps") — their protection is the manifest.dockerImage pin, which an update deploys, so a custom app must never be pinned to a floating tag. The rest carry a real appStoreId and update through the store.

Notes that are easy to get wrong

  • enableAutomaticUpdate exists on every app object and means nothing for a custom one. Judge update behaviour by the install SOURCE (appStoreId), not by that flag.
  • Public collectives reach co-op/* and code/* repos; the only private repos are ops/inferencebot and ops/security.
  • info@inference.coop is the co-op's gateway team account (member:info@inference.coop, budget $135/30d) and also the owner account of several provider keys — see the token runbook.