Introducing Hoserva
Hoserva is an open-source home server platform for mixed-size disks, a management layer that drives mergerfs and SnapRAID. The gap, the approach and where it stands.
Introducing Hoserva
Hoserva is an open-source home server platform for mixed-size disks. It is a management layer, with a Go daemon, a CLI and a web UI, over mergerfs and SnapRAID on Debian. It is in development and has no release yet. This post is about why it exists, how it is built and what works today.
The gap
Home servers tend to grow the way they get paid for: one disk at a time, whatever size is on sale. A storage setup for that has to do three things.
- Mix disk sizes in one pool. A 4 TB disk and an 8 TB disk should both count in full, and adding a disk should make its space available right away.
- Protect the pool with single-disk parity. One or two dedicated disks cover a failed data disk without mirroring everything.
- Be manageable. Setup, scheduling, monitoring, shares and apps should not mean hand-editing config files.
The first two are solved. mergerfs pools disks and SnapRAID computes parity, and Hoserva builds on both. What is missing is the third: a management layer with a UI you want to use. Hoserva is that layer.
The approach
Hoserva does not reimplement pooling or parity. It generates the configuration for mergerfs and SnapRAID and drives them.
A Go daemon, hoservad, runs as a systemd unit on Debian. It keeps its state in SQLite, writes the mergerfs and SnapRAID configuration from that state, and runs every long operation as a job. mergerfs presents the data disks together under /mnt/user. Each data disk stays a plain filesystem you can read on its own, and a file lives whole on one disk, so a single transfer runs at the speed of that disk.
Parity is where the design is deliberate. SnapRAID parity sits on one or two dedicated disks, each at least as large as the largest data disk. It is written only by the nightly schedule or by an action you start. A threshold guard holds a sync when too much has changed, so a bad day does not quietly overwrite good parity.
The web UI and the CLI are two clients of one documented API. Neither can do anything the other cannot.
Where it stands
Hoserva is in development and there is no GitHub release yet.
Built: the storage core and the NAS features.
Current phase:
- Apps. Apps run as Docker Compose stacks, installed from a curated catalog. CI validates the templates, signs the catalog and publishes it. Hoserva uses a downloaded catalog only after its signature verifies against a public key built into
hoservad. - Migration from Unraid. A guided migration reads the Unraid configuration from a Flash Backup and adopts the data disks in place, without copying or formatting them. It is not simple: expect hours of downtime and a full parity build, and note that the step that formats the former parity disk is a point of no return. Passwords, plugins and virtual machines do not migrate. Unraid is a trademark of Lime Technology, Inc.; Hoserva is not affiliated with it.
Hoserva is self-hosted open source under AGPL-3.0. There is no Cloud, no waitlist and no pricing.
There are no install instructions here because there is nothing to install yet. When a release exists, the docs will carry them.
Read more
- The Hoserva page on this site
- Hoserva on GitHub — source, issues
- hoserva.dev and the docs
If you run a home server on mixed disks, the GitHub repository and the docs are where to follow it. “In development” is the status until a release says otherwise.
