if one person can't run it, it won't last
Selfhosted Cloud
Public release coming soon.
notify me when it shipsshc install nextcloudsupported platforms
-
-
Hundreds of great apps, locked away
-
An app is not a container
It is a container plus a hostname, a certificate, a database, an identity provider, a backup schedule, and a restore that has actually been tested.
DNS + TLS--runtime composeswarmpodman -
Connect two apps, never touch a credential
files hold references, values stay encrypted in the vault
-
Sign in once
someone revoked nextcloud when they left. the leftover eight still take the old password.
without · a login per app -
NO KUBERNETES Skip the control plane. One person is enough.
Kubernetes solved a problem most people don't have
migrate from
how it compares
- built in
- partial or via add-ons
- not offered
| feature | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| App catalogA built-in library of apps you can browse and install, ready to run. | ||||||||||
| Any Docker imageRun anything that ships as a Docker image, even apps the catalog doesn’t carry. | ||||||||||
| Build from gitPoint the platform at a repo and it builds the image — Dockerfile or buildpack. shc deploys images and app definitions, not your source. That build step isn’t here yet. | ||||||||||
| Scheduled backupsBackups run on a schedule you set, so nobody has to remember to take them. | ||||||||||
| Automatic updatesThe platform updates installed apps on its own, on a schedule. shc updates when you run the update, never on a timer. Not here yet. | ||||||||||
| Automatic DNSDNS records for your apps get created and updated for you as apps come and go. | ||||||||||
| Automatic HTTPSEvery app gets an HTTPS certificate issued and renewed for it automatically. | ||||||||||
| Email hostingMailboxes, IMAP and SMTP for your own domains, run by the platform itself. shc ships a mail server in the catalog and every app can send through it, but the mailboxes are that server’s to manage, not shc’s. | ||||||||||
| One loginOne built-in account signs you into every app you install. That’s the bundled login every tier ships — bringing your company IdP instead is the Single sign-on row. | ||||||||||
| NotificationsThe platform lets you know when something needs attention, like a failed backup. | ||||||||||
| Web dashboardA browser dashboard for installing apps and running the cluster. On shc that’s the console, and it starts at the paid personal tier. Every tier, Community included, drives the same estate from the command line and the same API the console calls. | ||||||||||
| Sealed secretsConfig files carry only references to secrets; the real values stay encrypted. | ||||||||||
| Migrate inBring apps and their data over from other self-hosting platforms instead of starting fresh. | ||||||||||
| TerraformWorks with Terraform, so your whole setup can live in files you review and reuse. | ||||||||||
| Agent APIA machine-readable API built so scripts and AI agents can drive the platform. | ||||||||||
| App integrationsApps connect to each other on their own, so one can use another’s database or logins without hand wiring. | ||||||||||
| Cloud provisioningThe platform creates and readies the servers for you at your cloud provider. | ||||||||||
| Cloud volumesApp data can sit on rented cloud storage volumes that outlive the server they’re attached to. | ||||||||||
| RestoresBring an app back from any backup, and decide how long old backups stick around. | ||||||||||
| Clone & moveCopy an app or move it to another server, and its data travels with it. | ||||||||||
| Multi-nodeRun one installation across several servers instead of putting everything on a single machine. | ||||||||||
| Roles & auditGive each person the right level of access, with a log of who changed what and when. | ||||||||||
| Single sign-onYour company login — Okta, Entra, Google, LDAP — signs you into shc and every app on it. On shc that’s any paid tier; most panels that have it only cover their own dashboard. | ||||||||||
| Multi-tenancyHost separate teams or customers on one installation, each kept apart from the others. | ||||||||||
| Multiple environmentsRun the same app in named environments like staging or preview, separate from the real one. | ||||||||||
| Node mesh VPNYour servers talk over a private encrypted network, even when they sit in different places. | ||||||||||
| Terminal UIA live dashboard that runs right in your terminal, handy when you’re working over SSH. |
the shc tiers
the matrix shows shc as one column · all four tiers:
| tier | Community | Hobby | Pro | Enterprise |
|---|---|---|---|---|
| AppsNo tier caps how many apps you run — not even Community. | unlimited | unlimited | unlimited | unlimited |
| UsersCommunity runs up to three user accounts. That number was fixed before the first release and will never tighten; the paid tiers lift it. | up to 3 | unlimited | unlimited | unlimited |
| EnvironmentsCommunity has no environments — every app you install lands in the same place. Named ones like staging and prod start at Hobby, as many as you want. | unlimited | unlimited | unlimited | |
| Terminal UIThe live terminal dashboard comes with any paid tier. | ||||
| Web consoleThe browser console for running an estate with a mouse starts at Hobby. Community is complete without it — the command line and the API reach everything the console does, because the console is a client of that same API. | ||||
| Multi-nodeClustering starts at Pro. Community and Hobby run one server. | ||||
| Node mesh VPNThe encrypted node mesh exists to link cluster nodes, so it arrives with clustering at Pro. | ||||
| Single sign-onBring-your-own-IdP starts at Pro. Every tier still gets the built-in login across all your apps. | ||||
| Roles & auditPer-person roles and the audit trail start at Pro. | ||||
| Multi-tenancyHosting separate tenants on one install is Enterprise-only. | ||||
| Offline & airgappedHobby and Pro licenses activate over the internet, so those boxes must be reachable. Enterprise runs anywhere, airgapped included. | ||||
| Own system imagesEnterprise may swap in its own build of the few system apps that carry our enforcement code. Pointing those at your own registry mirror — same image, your copy — is free on every tier. | ||||
| SupportCommunity and Hobby lean on the community. Pro gets best-effort help; Enterprise gets an SLA. | community | community | best effort | SLA |
Want to know when it ships?
One email at public release. Nothing else, ever.
wire apps together
anatomy of an app
name: gitlab vars: rootPassword@secret! postgres: database@string! images: gitlab@string!
rootPassword: postgres: database: images: gitlab:
services:
gitlab:
image: ""
environment:
GITLAB_OMNIBUS_CONFIG: |
db_database = ''
root_password = ''
valkey:
image: "{{ vars.images.valkey }}"
shc install gitlabapps/gitlab/{app,vars,compose}.yaml
highly available
survives node failure
two ways in
your data, your choice
backendsdisk on the nodenfs · cephfshcloud · awsebs · gcepd · +6 more
rwo
attach
attached · node-2 · rwo
The bytes sit on that node's disk. Lose the node and you restore from backup.
Every node mounts the same filesystem (RWX), so a move is never needed — and never possible.
No auto-failover by default (auto_failover: false): a block volume reattaches only after you move the app.
Drag the volume onto a node to attach it there, or use the left and right arrow keys to aim and Enter to drop.
Drag nextcloud onto a node to run it there, or use the left and right arrow keys to aim and Enter to drop.
backups without downtime
A backup you haven't restored is a hope. Snapshots that were never replayed are the most common way a self-hosted estate dies. Backups here are scheduled, encrypted, and restorable with one command.
shc backup export writes a backup out to a local archive.shc backup create -s nextcloudthe runbook
boot sound “CRT turn on” by Coolshows101sound · CC BY 4.0 · trimmed