Custom App Stores
Companion Hub can load apps from more than one catalog. Alongside the default community store, you can add your own β a private repository of internal apps, a fork youβre testing against, or a curated store from another community.
How it works
An app store is a Git repository containing an apps/ directory, one folder per app. When you add a store, Hub clones that repository into <ROOT_FOLDER_HOST>/repos/ and merges its apps into the App Store view.
Because stores are ordinary Git repositories, a private store needs nothing more than a repository your Hub can clone.
Use cases
- Internal apps β run software for your organisation that shouldnβt be published publicly
- Testing before submission β install from your own fork and verify a clean install before submitting to the community store
- Curated catalogs β track a store maintained by a community you trust
Adding a store
You give Hub two things: a name and a repository URL. Hub derives a slug from the name, clones the repository, and the storeβs apps appear in the App Store tagged by origin.
A few rules worth knowing up front:
- Names must be unique, and so must URLs β adding the same repository twice is rejected
- Some names are reserved β you canβt create a store whose slug collides with a built-in one such as
ci-marketplace - If the clone fails, the store isnβt created; check that the URL is reachable from the Hub machine
Apps are identified by store and app ID, so two stores can each ship an app called nextcloud without conflicting.
Apps from a custom store run on your machine with the same access as any other
app. Only add stores you trust β a docker-compose.json can mount host paths
and read your data.
Removing a store
Removing a store deletes its cloned repository and its entries disappear from the App Store. Apps you already installed from it keep running β theyβre ordinary Docker Compose projects at that point β but they will no longer receive updates from the catalog.
Ready to publish to the community store instead? Submit at ci.computer/store-submitΒ β see Submitting an app to the Store for the required files and review process.