App development
How to package your own service as an SHC app. Audience: app authors who want their service to install, upgrade, back up, and integrate cleanly.
For operating SHC itself, see ../guide/. For how the runtime
works under the hood, see ../architecture/.
Start here
Section titled “Start here”- Creating apps — walkthrough from zero to a deployable app
- App definition —
app.yamlschema: name, version, vars, category - Source resolution — how SHC finds your
compose.yaml/stack.yaml
Composition
Section titled “Composition”- Plugs and sockets — declarative dependencies between apps
- Bundled services — when to ship a cache or datastore in your own compose instead of integrating, and what that means for backup
- VApps — Virtual Apps that extend other apps (e.g. Traefik’s ACME plugin)
- Presets — versioned variable bundles published by an app (the install-time catalog)
Lifecycle
Section titled “Lifecycle”- Lifecycle hooks — pre/post install, upgrade, uninstall, backup, restore
- Credential reconciliation — make vault the source of truth for an app’s persisted credential so it can be rotated without lockout
Reference material
Section titled “Reference material”- App catalog — every bundled sample app, grouped by category
- Architecture: app module — how SHC internalizes app definitions
- Architecture: stack module — how apps become running stacks
shc@docs:~$