AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
Expanse 是基于 NixOS 的集群操作系统:从 USB 盘安装,形成 Raft 支持的集群,获取复制存储、计划服务、VIP 故障转移和实时网页控制台——构建自
AI 翻译
Expanse is a NixOS-based cluster operating system: install from a USB stick, form a Raft-backed cluster, and get replicated storage, scheduled services, VIP failover and a live web console — built fro
开发工具Go · PythonGitHub @team-expanse在线运营者未确认
试用过了吗? 点一下就好,无需登录。
基于 NixOS 的集群操作系统:从 USB 盘安装,形成 Raft 支持的集群,并在普通硬件上运行复制的存储和服务。
AI 翻译
A NixOS-based cluster operating system: install from a USB stick, form a Raft-backed cluster, and run replicated storage and services on ordinary hardware.
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A NixOS-based server infrastructure system: plug a machine in, join it to a
cluster, and get replicated storage, load-balanced services, and a control
plane that keeps running when any single node doesn't — without hand-rolled
distributed-systems code where a proven one already exists (Raft, DRBD,
LVM, WireGuard, nftables). See .plan/PREMISE.md for the full vision and
.plan/ARCHITECTURE.md for how it's actually built.
The project site is expanseos.org.查看完整 README ↗A NixOS-based server infrastructure system: plug a machine in, join it to a
cluster, and get replicated storage, load-balanced services, and a control
plane that keeps running when any single node doesn't — without hand-rolled
distributed-systems code where a proven one already exists (Raft, DRBD,
LVM, WireGuard, nftables). See .plan/PREMISE.md for the full vision and
.plan/ARCHITECTURE.md for how it's actually built.
The project site is expanseos.org.
/persist). docs/INSTALL.md, docs/HARDWARE.md.docs/CLUSTERING.md.docs/STORAGE.md.docs/BLOCKS.md.docs/DATABASE.md.docs/MARIADB.md.docs/CADDY.md.docs/HAPROXY.md.docs/FORGEJO.md.docs/VAULTWARDEN.md.docs/JELLYFIN.md.docs/UPTIME-KUMA.md.docs/IMMICH.md.docs/RESTIC-BACKUP.md.docs/ISCSI.md.docs/NFS.md.docs/S3.md.docs/VMS.md.docs/PANDO.md.docs/NETWORKING.md.docs/WEB-UI.md.docs/BACKUP.md.docs/OBSERVABILITY.md.docs/SECURITY.md.docs/UPGRADE.md.docs/AGENT.md.Paused, not built: SMB failover (Samba deploy works; failover has an open bug) and an on-prem LLM subsystem (no accelerator hardware available to validate against yet). Both are independent of everything above and can resume any time; nothing else depends on them.
# Build (or download) the installer ISO and write it to a USB stick.
nix build github:expanse/expanse#iso
sudo dd if=result/iso/*.iso of=/dev/sdX bs=4M status=progress conv=fsync
# Boot the target machine from it, then either:
expanse install --tui # interactive, or
# ...or an unattended install — see docs/INSTALL.md for both.
Minimum target hardware: 2 CPU cores, 2 GB RAM, a 20 GB disk — a decade-old
laptop is the design point, not an afterthought. Full walkthrough,
including forming and joining a cluster afterward:
docs/INSTALL.md → docs/CLUSTERING.md.
| Doc | Covers |
|---|---|
docs/INSTALL.md | Installer, disk layout, first boot |
docs/HARDWARE.md | Supported/tested hardware, minimum spec |
docs/CLUSTERING.md | Raft substrate, join/discovery, CA, generations |
docs/AGENT.md | The per-node desired-state reconcile loop |
docs/STORAGE.md | Replicated volumes, repair, split-brain recovery |
docs/BLOCKS.md | Deploying and scaling services |
docs/DATABASE.md | The Postgres block |
docs/MARIADB.md | The MariaDB block |
docs/CADDY.md | The Caddy web server block |
docs/HAPROXY.md | The HAProxy load balancer block |
nix develop # go, golangci-lint, protoc, qemu, everything else needed
make build && make test && make lint
See docs/DEVELOPING.md for the full workflow,
and .plan/ARCHITECTURE.md for the design principles (adopt proven data-plane
components; build the control plane) new code is held to.
All 11 phases of .plan/ROADMAP.md have shipped. Every feature listed
above under "What works today" has NixOS VM-test coverage exercising real
node kills, partitions, and restarts — not just unit tests. The latest
release and its installer ISO are on the
releases page;
CHANGELOG.md records every release and its known issues, and
.plan/ARCHITECTURE.md §9 is the project's decision record.
Expanse is a joint human–AI project. Its code, tests and documentation were built by a human maintainer working with AI coding assistants. The AI wrote much of the code and prose. The maintainer directs the work, reviews it and decides what ships.
Co-Authored-By trailer; git log shows which.CHANGELOG.md records what is unverified. Real hardware,
for example, is still untested.See also How Expanse is made on the project site.
Expanse is licensed under the Apache License, Version 2.0; see
NOTICE. Contributions are accepted under the same licence.
Vendored Go modules keep their own licences.
docs/FORGEJO.md| The Forgejo Git forge block |
docs/VAULTWARDEN.md | The Vaultwarden password manager block |
docs/JELLYFIN.md | The Jellyfin media server block |
docs/UPTIME-KUMA.md | The Uptime Kuma status monitoring block |
docs/IMMICH.md | The Immich photo and video library block |
docs/RESTIC-BACKUP.md | Scheduled restic backups of volumes |
docs/ISCSI.md | The iSCSI target block |
docs/NFS.md | The NFS export block |
docs/S3.md | The S3 object storage block |
docs/VMS.md | The virtual machine block |
docs/PANDO.md | Pando in a virtual machine block |
docs/NETWORKING.md | Mesh, firewall, load balancing |
docs/WEB-UI.md | The browser console |
docs/BACKUP.md | Backup and disaster recovery |
docs/OBSERVABILITY.md | Metrics, alerts, dashboards |
docs/SECURITY.md | CA, tokens, TPM sealing, mTLS |
docs/UPGRADE.md | Rolling a fleet onto a new build |
docs/DEVELOPING.md | Dev environment, build, test, lint |