You own your names
Names are decentralized and user-controlled from day one. v1 uses ArNS, with undernames for staging; ENS and DNSLink adapters come later. Ourcld deploys and serves your name, but it is not the registrar of record.
Early · in development · open source
Ourcld is an open-source distributed hosting platform built for privacy, security, and decentralization. Your names are user-controlled, your releases are content-addressed, and your mutable data is encrypted before it leaves the client and spread across independent hosts.
# planned CLI flow (v1 is in development)
$ ourcld deploy
build static site
upload tree → Plane A
root bafy… (content-addressed)
pin Filecoin Pin (renewable)
name staging_myapp → root atomic
$ ourcld env promote
name @myapp → root atomic
serve https://myapp.… TLS
What Ourcld does
Hosting is not the same thing as storage. Ourcld keeps bytes, names, and runtimes as separate layers, so each one can be decentralized on its own terms.
Names are decentralized and user-controlled from day one. v1 uses ArNS, with undernames for staging; ENS and DNSLink adapters come later. Ourcld deploys and serves your name, but it is not the registrar of record.
Every deploy is an immutable, content-addressed build with a manifest, so deploys are atomic and a rollback just points the name at a prior root. Releases use a renewable Filecoin Pin by default. You can add an optional permanent "forever" archive on Arweave through Turbo.
Mutable buckets live on Sia. Data is encrypted on the client and erasure-coded across independent hosts, and no single storage company sits in the data path. The indexer that coordinates metadata can be self-run.
The Sia leg speaks S3 through the Sia Foundation's s3d. We tested it with Forgejo on Sia's Zen testnet, covering LFS (including a 150 MiB multipart upload), attachments, avatars, restarts, and deletes. It passed 19 of 20 tests. The one gap: with direct serving enabled, attachment downloads lose their filename.
Persistence is proven, not assumed. A proof and renewal watcher checks storage health and raises an alert when data is under-replicated, and the aim is to show replication health rather than just "uploaded."
The API, CLI, and gateway are open source, and storage providers plug in as adapters. The goal is that a backend can be swapped without changing the CLI contract.
Architecture
A content address is not a user-facing name. Ourcld keeps CIDs and blob IDs under the hood and puts a human name on the outside. That split creates three planes.
How it works
Run the CLI or a CI action. It builds your static site and uploads the file tree to Plane A.
The build gets a root CID and a manifest. It is pinned with Filecoin Pin by default, and you can archive it forever on Arweave.
Your name pointer, prod or a staging undername, moves atomically to the new root. You can roll back by pointing it at the previous root.
The gateway terminates TLS, resolves the name, then fetches, caches, and serves the content. It fails over across multiple origins.
Behind the scenes, a persistence job verifies proofs and renewals and alerts if content is under-replicated.
Why decentralized
Traditional hosting usually ties your name, your bytes, and your uptime to one provider. Ourcld pulls those apart.
| Concern | Single-provider hosting | Ourcld |
|---|---|---|
| Who controls the name | Often tied to the host's account and platform | You do. It's a user-controlled ArNS name, and Ourcld is not the registrar |
| Where the bytes live | One company's infrastructure | Independent providers on Filecoin, Arweave, and Sia |
| How persistence is known | Trust the provider's word | Storage proofs and renewals, with health monitoring |
| Integrity of a release | Files can change in place | Content-addressed: the address is derived from the bytes |
| Private object data | Readable by the storage provider | Encrypted before upload and erasure-coded across hosts (see the v1 trust note) |
| Leaving | Migrate everything, then re-point the name | Backends are pluggable adapters, and your name comes with you |
First user
Ourcld's first user is MeritForge, an open-source Git SaaS that pays its contributors. MeritForge runs on Forgejo. Its object storage (Git LFS, attachments, and avatars) targets Ourcld's Sia-backed, S3-compatible buckets. Bucket prefixes stay the same when it moves off an interim store.
This is an early, in-development deployment, not a production case study.
s3d, backed by Sia's Zen testnetSERVE_DIRECT enabled, attachment downloads lose their filenameHonest trust note
Roadmap
Phases, not promises. There are no dates yet.
Planes A and B: static hosting with projects and prod/staging environments, ArNS naming, Filecoin Pin with the forever option, Sia buckets, a gateway with cache and failover, and proof watching.
Plane C: attach one container service per project through a first compute adapter (Akash-first).
Pay in one place while Ourcld settles storage providers in whatever they need.
User-run gateways and federated naming, plus the move to per-tenant and customer-held keys.
ENS and DNSLink adapters alongside ArNS.
Ourcld is early and developed in the open. Read the design, watch the repository, and help shape it.