if one person can't run it, it won't keep running
Selfhosted Cloud
Public release coming soon.
notify me when it shipsshc install nextcloudsupported platforms
Why this exists
-
Self-hosting has never been short of software. It's been short of an operations story: the part that keeps things running after the weekend you installed them.
-
-
Hundreds of great apps, locked away
Most people and most companies never run them, because running them means becoming a hosting company first.
The software was never the gap. The platform to run it was.
-
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 -
Connect two apps, never touch a credential
The integration system is the heart of this platform: the credential is minted, injected and rotated internally;
files hold references, values stay encrypted in the vault.
postgresre-injected nextcloudre-injectedvars.yaml host: postgres password:└ ●●●●●●●● sealed
vault v2the ref never moved · vault at v2 · both apps greenIf you've never done ops, the context: the normal way is pasting a database password into a config file, where it lands in git history and chat logs, gets shared around, and never gets rotated. Deleting that entire class of work is a bigger deal than it sounds.
nothing to paste, nothing to leak
-
Sign in once
Every app keeps its own accounts, so removing one person means nine admin panels. shc ships keycloak, so every app takes the same login.
nine revokes, or one
-
NO KUBERNETES Skip the control plane. One person is enough.
Kubernetes solved a problem most people don't have
-
ownership, not a second job
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. shc is the terminal and the API. There’s a live dashboard, but it runs in your terminal, not a tab. | ||||||||||
| 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. | ||||
| 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 |
migrate from
Want to know when it ships?
One email at public release. Nothing else, ever.
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
wire apps together
Connect apps instead of configuring them: no copying credentials between services. Link two apps and the credential is minted, injected and rotated internally.
highly available
Three or more nodes elect a leader by raft. Kill the leader and the survivors re-elect in seconds; apps keep serving through the failover.
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 restore --before 0m -s nextcloudthe runbook
questions about self-hosting
What is Selfhosted Cloud?
Selfhosted Cloud (shc) is a self-hosted cloud platform. It installs apps from a catalog or any Docker image onto servers you own, then handles DNS, HTTPS, scheduled encrypted backups and clustering for them.
Can you self-host an app?
Yes, and that is the whole job here. Pick an app from the catalog, or point at any Docker image. It comes up with a real hostname, a certificate, a backup schedule and a place in the cluster, and you wire none of it by hand.
What is a self-hosted PaaS?
A platform that does what a cloud provider's app platform does — routing, certificates, credentials, backups, upgrades — on hardware you control. Selfhosted Cloud is one, with an app catalog in front of it rather than a git push.
Do I need Kubernetes to run it?
No. The control plane is raft. The apps run on Docker Compose, Docker Swarm or Podman, and the app doesn't care which. Nothing here asks you to learn Kubernetes to run software.
Where does it run?
Linux in production, macOS for development. One machine or a cluster of them, on your own hardware or on a rented one — there are terraform modules for the usual clouds.
Can I move apps in from Cloudron, Coolify, CapRover, Umbrel or CasaOS?
Yes. Apps are adopted from Cloudron, Coolify, CapRover, Dokploy, Dockge, Easypanel, Portainer, Runtipi, Umbrel, CasaOS, YunoHost, Unraid, TrueNAS, Synology and Kubernetes, and the data comes along.
What are the tiers?
Community, Hobby, Pro and Enterprise. No tier caps how many apps you run. Community caps seats and runs one server; clustering starts at Pro; multi-tenancy is Enterprise.