NAME
mountos - self-hosted distributed storage you mount, or reach over S3 and WebHDFS
Synopsis
# macOS / Linux
$ curl -fsSL https://mountos.sh/install | bash
# Windows (PowerShell)
PS> irm https://mountos.sh/install/install.ps1 | iex
Description
mountOS runs on your own infrastructure and turns object storage into a real filesystem. Mount a volume natively (macFUSE / FSKit on macOS, FUSE on Linux, a native driver on Windows), or reach the same data with no mount at all over an S3-compatible endpoint, WebHDFS, or a Kubernetes CSI driver, all behind one access key.
It keeps version history and lets you branch a volume into forks, so you can read a file as of a point in time or work against an isolated copy without moving the data.
Services
A deployment is a small fleet of services, each installable as its own package.
- appserv
- The HUB (admin, discovery, and the control plane).
- dataserv
- The metadata server for a region.
- blockserv
- Disk-volume server for high-performance block storage.
- gcserv
- Garbage collection server.
Bring up the fleet with the guide at mountos.io/docs/get-started
Installation
The one-liner above installs the default package for your platform, latest version, auto-detecting OS and architecture:
- macOS, a signed and notarized .pkg (CLI, Desktop app, FSKit)
- Windows, a signed installer (CLI, mountosio driver)
- Linux, the bare mountos CLI
Options
Pass flags to the installer after --:
- --pkg NAME
- Which package to install. One of mountos-cli, mountos-macos, mountos-windows, or a server (mountos-dataserv, -gcserv, -blockserv, -appserv).
- --version X.Y.Z
- Pin an exact version. --major N takes the latest within a major series.
- --list
- Print available versions for --pkg and exit.
- --prefix PATH
- Install location (default /usr/local/bin).
Examples
# install just the CLI, pinned
$ curl -fsSL https://mountos.sh/install | bash -s -- --pkg mountos-cli --version 1.0.2
# Hadoop / Spark / Trino via the Maven SDK
# io.mountos:hadoop-mountos @ https://mountos.sh/install/maven
# drive the HUB with the Admin SDK (TypeScript, Rust, Go)
$ npm install @mountos-io/admin-sdk
$ cargo add mountos-admin-sdk
$ go get github.com/mountos-io/mountos-admin-sdk/go
# any other language, use api.yaml as the reference spec
# https://github.com/mountos-io/mountos-admin-sdk/blob/main/api.yaml
See Also
Docs, architecture, and the API at mountos.io
Admin dashboard, open source, at github.com/mountos-io/mountos-admin-client
Desktop app, system tray client for macOS and Windows, open source, at github.com/mountos-io/mountos-desktop
Admin SDK (TypeScript, Rust, Go) at github.com/mountos-io/mountos-admin-sdk
Agent-readable docs at mountos.io/llms.txt
Support
Questions and help at [email protected]