An app in Suji is a marketplace template — a vetted compose file + manifest + icon, published in the public suji-hq/suji-templates repo. An app install is one running deployment of that template on one of your VMs. You can install the same app multiple times (e.g. two n8n installs, one for dev and one for prod) on the same VM, or across different VMs.Documentation Index
Fetch the complete documentation index at: https://docs.suji.fr/llms.txt
Use this file to discover all available pages before exploring further.
Anatomy
When you install an app, Suji:- Renders the app’s compose file with your form input (API keys, channel tokens, subdomain…).
- Ships the rendered compose to the VM via the cloud-agent.
- Runs
docker compose up -don the VM. - Wires the app’s container into
suji-netso cloudflared can reach it. - Updates the Cloudflare Tunnel ingress so
https://<subdomain>.suji.fr/routes to this install. - Creates a per-install named volume for the app’s persistent data.
install_<hash>. You’ll see this in URLs, file paths on the VM, and container/volume names.
Status
| Status | Meaning |
|---|---|
installing | Compose is being deployed |
running | App is up and healthy |
upgrading | Mid-deploy of a new version or new config |
failed | Something broke — last_error field has the reason; Logs tab usually shows it too |
What you can do with an install
From the install’s detail page in the dashboard:- Restart — bounces the containers (
docker compose restart). - Upgrade — re-deploys with the latest catalog version. For apps with
upgrade_policy: breaking-changes-flagged, you’ll see a diff to acknowledge first. - Uninstall — stops the containers and deletes the volume. Irreversible.
- Edit install — change any of the form fields you filled in. Suji re-renders the compose and redeploys.
- Rotate secrets — regenerate any
auto_generatesecret (e.g. an admin token).
App data
App state lives in a Docker named volume scoped to the install. On the VM you can find it under:- Container restarts
- App upgrades (to compatible versions)
- VM snapshot/restore
- Uninstalling the app
- Destroying the VM (a snapshot covers this if you took one)
Versions & upgrades
Each app pins a specific image tag (e.g.ghcr.io/openclaw/openclaw:2026.2.3). Two upgrade policies:
automatic— safe to upgrade in place; the dashboard offers a one-click upgrade when a new version lands in the catalog.breaking-changes-flagged— stateful apps with schema migrations or known breaking changes. The dashboard surfaces a diff and waits for your confirmation.
:latest. Cataloged versions are immutable in spirit but mutable in practice — the Suji team may push a re-built catalog entry (same version tag, updated compose) when a packaging-layer fix is needed (e.g. correct volume mount path). Existing installs pick up the fix on the next upgrade.
App-specific guides
Some apps need first-connect setup (token URL, device pairing, webhook config). The marketplace page for each app covers this. Start at Marketplace overview.Co-existing on a VM
Multiple apps on one VM share the VM’s CPU/memory/storage. Each install:- Has its own compose project (its own containers, network identity, volume).
- Has its own
*.suji.frURL if exposed. - Shows up independently in the Logs / Terminal / Files selectors.
Next
Browse the marketplace
What apps exist and what each one is for.
VM management
Operate the machine your apps run on.