Imogen Labs
Start a project

Eight.ly Templates

The catalog is a product too.

Shipped

A long list of apps is easy to publish. A catalog that puts data on the right disk, routes to a working page and reports useful health is a different engineering job. We built the curation and delivery system behind Eight.ly's app library.

Explore Eight.ly
Inside Eight.ly Templates
  1. CurateOrganise application definitions and metadata.
  2. CheckInspect storage paths, routes and health checks.
  3. Deliver changesCompare content digests and replace changed app content.
  4. DeployConfigure an app through the Eight.ly interface.

The problem

An application definition can look plausible and still fail the first person who uses it. A route may point at a game port rather than a web page. A health check may depend on a program the container does not contain. A media mount can quietly fill the system disk instead of the storage array.

Scale makes these inconsistencies a product problem. Naming, categories, metadata, storage conventions and update delivery all need to agree. Adding more definitions without maintaining that contract just gives people more ways to get stuck.

Who it’s for

For server owners who want to choose an application rather than research its deployment from the beginning, and for product teams whose own ecosystem needs a maintained installation path.

What we built

We built a structured library of application definitions with deployment files and descriptive metadata. Its October 2026 inventory includes 3,476 self-hosted apps, 6,133 definitions and 20 categories. An app can have more than one definition, giving the library a way to represent different deployment choices.

We also built checks for recurring template mistakes and a licensed sync path that delivers changed app content to installed systems. The commercial library is separate from HomelabARR CE's bundled open-source catalog.

How it works

Templates describe the image, configuration, networking and storage that an application needs. Media-chain templates share one content path on the array so imports can use hardlinks and local moves; application state stays on its own appdata path.

The catalog service compares content digests, downloads changed templates and applies each update as a directory replacement. Customers keep their local catalog when offline. The delivery service ships app content rather than the repository's maintainer scripts and audit output.

What was hard

The hard part is sustaining correctness as applications change. An October 2026 sweep found routes aimed at non-web ports and health checks that could never succeed. Some checks still could not be verified; those were recorded as unknown, not quietly counted as healthy. The checks matter because they prevent a familiar defect from becoming thousands of copies.

Have a similar problem?

Let’s build
what comes next.

Start a project