Open Source at Swarmfile
Swarmfile's open-source half is the server you can run yourself and the standalone tools and libraries that work with or without the hosted service. They are dual-licensed MIT/Apache-2.0 - source included - and published as public projects on our own hub: browse the swarmfile organization to see each project's code, releases and README (it also carries the LGPL source of the modified libfuse3 the macOS app ships). The open-source recordings on the demo page are these tools doing their real jobs, nothing re-enacted; for the design behind them, read Open-sourcing our AI-Engineering Version Control System.
Run the server yourself#
Swarmfile Server (Community) is a single-tenant server - SQLite for metadata, a local directory (or an S3-compatible bucket) for file bytes - that speaks the same API as the hosted service, so the desktop app, git, git-LFS and the standalone tools can all point at yours:
curl -fsSL https://get.swarmfile.com/server | sh
Self-Hosting the Community Server walks the whole path: the first-run sequence, connecting the desktop app's self-hosted edition, git and git-LFS against it, keys and roles, the peer-to-peer swarm, storage and backups, and upgrades. See it happen end to end:
The community server deliberately leaves parts of the hosted service out (access rules and sharing, end-to-end encryption, previews, hosted CI, the Office caches feature set, billing). The guide lists what stays hosted, and the client tools say so in place rather than failing.
The standalone tools#
Each of these runs standalone - no engine and no mount required. Most have a one-line installer: curl -fsSL https://get.swarmfile.com/<tool> | sh, with lfs, migrate, seed, mirror, doctor and git-v as the channels; the git-LFS agent and the git remote helper also have Windows PowerShell forms (irm https://get.swarmfile.com/lfs.ps1 | iex).
Every tool release carries binaries for macOS, Linux and Windows, each on x64 and ARM. The macOS binaries are signed and notarized by Apple, the Windows ones are Authenticode-signed, and each archive has a .sha256 file plus a SHA256SUMS list for the release, which the installers check before installing. On a public release page the assets are grouped by family; the per-file .sha256 files and SHA256SUMS sit under Checksums, and each row's digest control copies the full SHA-256.
swarmfile-lfs- the git-LFS transfer agent: chunked, resumable large-object pushes through git-lfs's custom-transfer protocol. Source: swarmfile-lfs. See Git-LFS.swarmfile-git-remote- the standaloneswarmfile://git helper: clone, fetch and push a project with no engine installed, including an anonymous clone of a public project. Source: swarmfile-git-remote. See Cloning a Project with Git.swarmfile-migrate- import an existing directory tree, file list or S3 bucket into a project. Source: swarmfile-migrate. See Migrating Existing Data.swarmfile-seed- place one local file at a project path without mounting a drive. Source: swarmfile-seed. See Seeding a File Into a Project.swarmfile-mirror- copy a project, or a subtree, from one hub to another. Source: swarmfile-mirror. See Mirroring a Project Between Hubs.swarmfile-doctor- connectivity diagnostics for a hub or a self-hosted server: DNS, TLS, health, the key, the block path, the declared profile. Source: swarmfile-doctor. See Diagnosing Connectivity.swarmfile-verify-history- the offline verifier for signed history; it ships with every desktop installer, and its source, releases and test vectors are at swarmfile-verify-history. See Verifiable History.
The libraries and contracts#
The shared pieces are open source in the same repositories, so the tools and the engine are never forks of each other:
swarmfile-chunker- the FastCDC content chunker the engine, the CI runner and the git-LFS agent all carry, published as a crate (cargo add swarmfile-chunker). The git-LFS agent itself installs withcargo install swarmfile-lfs-transfer.swarmfile-lib- the connectivity library: the hub wire contract, the route plan, the HTTP transport and the git helper's hub client. It ships as source inside the published projects (the git remote helper above is built on it).swarmfile-api- machine-readable contracts: the hub's OpenAPI document, the community server's core-profile OpenAPI, and a generated dependency-free TypeScript client. Source: swarmfile-api.swarmfile-ci-workflow- the offline compiler for Swarmfile's native.swarmfile/ci.ymldialect, with a one-way GitHub Actions importer. Source: swarmfile-ci-workflow.swarmfile-sync-agent- the customer-hosted Active Directory / LDAP directory-sync agent. Source: swarmfile-sync-agent. See LDAP Directory Sync.- The source for the modified libfuse3 the macOS app ships (LGPL) is published too: swarmfile-libfuse3.
Work with Git through it#
A public, git-enabled project clones with no credential at all - the helper mints a short-lived proof-of-work ticket - and a key holder can clone, fetch and fast-forward push any project with git enabled:
git clone swarmfile://my-org/my-project
Cloning a Project with Git covers turning git access on and what a clone contains; the helper reference covers install. None of this asks you to leave your git host: Git and Swarmfile maps the three ways the two fit together, including pointing stock git-LFS at a project so only the big files live here (Git-LFS).
Get involved#
- File an issue. A public project can carry a light issue tracker - anyone can read it, and a free account with a verified email can post (Public Projects & Org Profiles).
- Fork it. An org can fork a public release into itself, with provenance back to the source (Publishing Releases).
- Publish your own. Publishing Quickstart (Open Source) is the ten-minute path from a repository to a public release on the Free plan, no card required.
- Check our work. Every release on a public project page carries its provenance, and
swarmfile-verify-historylets you recompute a project's commit chain from outside (Verifiable History).