You run it
Boot Vulos OS on bare metal, a VPS, or Vulos-managed hardware. The open-source OS costs $0 to self-host.
Vulos is a web-first operating system and app suite — a sovereign box you own, running Vulos OS plus standalone apps you install — in any browser and on bare metal. The OS and apps run on your OWN box, self-hosted for $0. A thin access-cloud handles reachability goes through Ephor, the open-source broker you can use or bring your own. Plug your own private AI into your own data. This isn’t privacy theatre — it’s agency: the software is yours to run, read, and walk away with.
The whole model in one line: you run Vulos OS on hardware you own, it holds your desktop, apps, files and private AI, and the Relay makes it reachable from any browser — carrying ciphertext it can’t read. Our cloud is optional, and only ever provides reachability and encrypted backup.
Boot Vulos OS on bare metal, a VPS, or Vulos-managed hardware. The open-source OS costs $0 to self-host.
Your desktop, apps, files and private AI all live on your box — never in a shared central database.
A single sovereign ingress — direct-first, relay-fallback — carries ciphertext it can’t open. No open ports.
Sign in once and reach the same desktop from any browser, laptop or phone. Walk away with all of it anytime.
Web apps run as first-class citizens in the browser. Native Linux GUI apps — GIMP, LibreOffice, Blender, games via Wine and Lutris — stream individual windows on demand over WebRTC. The shell, the file manager, the terminal, the dock: a real OS that happens to live in a tab.
Windows, dock, file manager, terminal, settings — a real OS shell rendered in the browser. Open it from your laptop, phone, or any browser anywhere and you get the same desktop.
Self-host the apps you would rent from SaaS. Memos, Navidrome, Uptime Kuma, Vaultwarden — installed as proper OS apps with their own subdomain and isolated namespace. Not iframes, not bookmarks.
Every Vulos instance is a server with an Ed25519 identity and a vulos:<id> URI. Instances message, share files, and place WebRTC calls directly. No middleman. No account on someone else’s server.
Flash the same image to a USB stick. Boot into a labwc/cage compositor that renders the browser shell fullscreen, with native Linux app windows beside it. The same OS, end to end.
Real screenshots from the open-source OS — the home you land in, every device and cloud node in one roster, the app hub, your files and a real terminal. The cloud is the optional layer; this is the OS.
At the heart of Vulos are three sovereign surfaces: the OS your box runs, the Relay that reaches it from anywhere, and the open-source Management control plane that runs the whole deployment. Run them on your own box, or self-host the open-source engine behind each — same software either way, no fork. Everything else is a standalone app you install from the app store and run independently.
Vulos doesn’t sell you a model or ship your mailbox to someone else’s GPU. It’s AI-friendly: the OS and every app expose clean, gated context and tool seams to whatever model you plug in. Run a local model on your box, or point it at a provider you trust — you decide, per request.
# local model — dialed on-box, no network $ curl localhost:4000/v1/chat/completions -d '{"model":"ollama/llama3", ...}' → 200 OK backend=loopback egress=none # remote provider — denied at dispatch $ curl localhost:4000/v1/chat/completions -d '{"model":"openai/gpt-4o", ...}' → 403 sovereignty_error "remote backend blocked; set allow_egress:true" # opt in, explicitly + logged $ export LLMUX_ALLOW_EGRESS=true → 200 OK backend=openai egress=logged
NAT traversal is hard. Firmware rollouts are hard. Recovering a locked-out box is hard. Ephor — the open-source broker — handles the parts your devices cannot do alone, and forwards encrypted bytes only. We run one you may use; bring your own or self-host it just as easily. The OS keeps running without it.
Your account is simply the email and password — or Google/Microsoft sign-in — you register with. That login is the always-up anchor: it proves who you are, then wakes and routes to your box. Identity and your data are decoupled, so the login server never holds the keys to your content.
A verifiable boot chain from image to running OS. One account across every instance. A sync model with no elected leader. Each is a deliberate architectural choice, not a feature flag.
Vulos ships as a squashfs image signed with an Ed25519 trust key baked in at build time. Whether you boot from USB or over PXE netboot, the kernel verifies the image before it runs anything. No unsigned firmware, no mutable rootfs, no post-install drift.
Boot architectureYour Vulos account is an Ed25519 keypair, not a row in a shared directory. Sign in to home.vulos, studio.vulos, or pi-lab.vulos with the same identity — no OAuth dance, no delegated trust, no shared secret store between instances.
Identity modelConfiguration and state sync across your instances uses a leaderless CRDT model: every node can write, all nodes converge, and none is authoritative. Partition tolerance is structural, not bolted on. Works offline; catches up when reconnected.
Sync internalsFlash the image to a USB stick or point your BIOS at boot.vulos.org. Either way the trust key is baked in — the loader verifies the squashfs before the kernel hands off. No key-on-first-boot ceremony, no unsigned init phase.
Every Vulos instance has an Ed25519 identity and a vulos:<id> URI. A request-approve handshake establishes a signed server-to-server link. After that, your instances message, share files, and place WebRTC calls peer-to-peer — no relay unless NAT forces it.
Vulos isn't locked to a single machine. Run it on your always-on home box and your laptop, and they sync as peers — your apps, settings and workspace follow you. Reach either one from your phone, whether you're on the couch or across the world.
We mean that literally. Vulos is open source. The control plane is open to self-host. Your data lives in your bucket — Tigris, S3, MinIO, anything S3-compatible. Egress from Tigris is zero.
Vulos takes its name from vula — isiZulu for open. Open source. Open identity. Open peering. Open exit. The cloud is a convenience we sell, not a moat we dig.
Every assumption that would lock you in — proprietary protocols, hostage data, walled directories, opaque pricing — is one we explicitly built against. Read the source. Verify the relay never decrypts. Move when you want to.
Every limit and guarantee on this site is implemented in code, not promised in copy. The source is open — verify the math yourself.
Vulos is built in the open across the vul-os organisation — the OS shell, every app in the suite, and the engines beneath them. Star counts are pulled live from GitHub. Only the control plane stays closed.
Built on the open ecosystem
Camera gesture games in a browser tab — your camera is the controller and a gesture is just an input event, with nothing to install. Early: the playable demo is single-player tennis with one gesture (swing); the multi-person tracker and player binder are unit-tested against synthetic fixtures only, and hand tracking and networked play are spec-only.
A decentralised game platform — games are content-addressed portable objects, nodes are generic compute anyone can bring, and deterministic authoritative simulation in a WASM sandbox produces replay logs anyone can re-simulate to prove tampering. Chat, voice and video plug in behind one seam (Matrix, Jitsi, LiveKit, Owncast). Early: the rewrite is mid-flight — the only payment rail that ships is a deterministic mock, and clustering is LAN-only with no NAT traversal.
The whole open-source suite is free on your own box — no card, no per-seat charge, no lock-in. Self-host everything for $0 and walk away whenever.