A graphical server OS optimized for self-hosting
What is this?
This repository is the monorepo for all Start9 products. Its flagship is StartOS โ an open-source Linux distribution for running a personal server, handling discovery, installation, network configuration, data backup, dependency management, and health monitoring of self-hosted services.
All products share a single Rust backend library (start-core) and a single Angular workspace; each product is a thin wrapper under projects/ that adds only its own entry point and any product-specific frontend or packaging, while shared code lives at the top level under shared-libs/.
| Directory | Product | What it is | | -------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------- | | projects/start-os/ | StartOS | The server OS โ startbox/start-container bins, web UI + setup wizard, container runtime, OS packaging | | projects/start-cli/ | start-cli | CLI for managing servers, registries, and packaging | | projects/start-registry/ | start-registry | Package registry server (registrybox); serves the marketplace UI | | projects/start-tunnel/ | StartTunnel | VPN/forwarding server (tunnelbox) + its web UI | | projects/start-wrt/ | StartWRT | OpenWrt-based router OS (startwrt bin + embedded web UI), flashable image for the SpaceMiT K1 | | projects/start-sdk/ | Start SDK | @start9labs/start-sdk for building StartOS service packages | | projects/brochure-marketplace/ | Marketplace site | Public marketplace/landing site (marketplace.start9.com) | | projects/start-docs/ | Docs site | The documentation website (docs.start9.com) | | shared-libs/crates/start-core/ | โ | The entire Rust backend library shared by all bins | | shared-libs/ts-modules/ | โ | Shared Angular libraries (the Angular workspace is rooted at the repo root) | | shared-libs/crates/patch-db/ | โ | Diff-based reactive state store (first-party crate) |
Tech stack: Rust backend (Tokio/Axum), Angular frontend (Taiga UI), Node.js container runtime with LXC, and a custom diff-based database (Patch-DB) for reactive state synchronization. Services run in isolated LXC containers, packaged as S9PKs โ a signed, merkle-archived format supporting partial downloads and cryptographic verification.
See ARCHITECTURE.md for how the pieces fit together.
What can you do with StartOS?
StartOS lets you self-host services that would otherwise depend on third-party cloud providers โ giving you full ownership of your data and infrastructure. Browse available services on the Start9 Marketplace, including:
- Bitcoin & Lightning โ full Bitcoin node, Lightning node, BTCPay Server, and other payment infrastructure
- Communication โ Matrix, SimpleX, and other messaging platforms
- Cloud Storage โ Nextcloud, Vaultwarden, and other productivity tools
Getting StartOS
Buy a Start9 server
The easiest path. Buy a server from Start9 and plug it in.
Build your own
Follow the install guide to install StartOS on your own hardware.
Build from source
git clone https://github.com/Start9Labs/start-technologies.git
cd start-technologies
See CONTRIBUTING.md for the shared toolchain and development workflow, and projects/start-os/CONTRIBUTING.md to build a StartOS image.
The rest of the monorepo
StartOS is the flagship, but it shares this repo with the rest of the Start9 stack:
- StartTunnel โ a self-hosted VPN / reverse-proxy server that gives a StartOS box a public address and clearnet port forwarding without relying on a third-party tunnel.
- StartWRT โ an OpenWrt-based router OS for home self-hosting: per-profile subnets and WiFi, inbound/outbound VPN, DDNS, and secure remote access, shipped as a flashable image for the SpaceMiT K1.
- start-cli โ the command-line client for StartOS servers and registries, and the tool that builds and signs service packages (
.s9pk). - Start SDK โ the
@start9labs/start-sdkTypeScript SDK and packaging toolchain for wrapping any app into an installable StartOS service. - start-registry โ the registry server that hosts and serves marketplaces of packaged services.
- Marketplace site โ the public marketplace at marketplace.start9.com, built on the same UI components the OS uses.
- Docs site โ the documentation website at docs.start9.com.
Documentation
- ARCHITECTURE.md โ how the monorepo fits together
- CONTRIBUTING.md โ environment setup, build, test, and format workflow
- AGENTS.md โ AI-developer/agent operating rules (
CLAUDE.mdis a one-line@AGENTS.mdimport)
Contributing
There are multiple ways to contribute: work directly on a product in this repo, package a service for the marketplace, or help with documentation and guides. See CONTRIBUTING.md or visit start9.com/contribute.
To report security issues, email security@start9.com.