archelon
Your own fediverse server, in one binary.
A fediverse server for a single person, which speaks the same API as Mastodon without being a fork of it: you keep using the client you already have.
An instance in three commands
init creates the configuration, the database and the account keys, passwd sets the login password and serve starts the server. No PostgreSQL, Redis or Node: just one configuration file, one SQLite file and one media folder.
Mastodon clients just work
Tusky, Ice Cubes, Phanpy, Elk and Toot! point at the instance domain and sign in through the usual OAuth flow: you type the account password and see what the app asks for before authorising it.
A profile page
Whoever opens the account's address in a browser finds the profile, with the avatar, header, bio and fields taken from the configuration file, and the post and follower counts. To follow, they look the account up in their own app.
The same API for scripts
token create issues a token with the scopes you choose, and any tool that speaks HTTP uses the instance's Mastodon API.
Backup and restore in a single file
archelon backup packs the database, media, keys and configuration into one .tar.gz without stopping the server, and restore puts it back into a fresh folder. If you come from Mastodon, you import the profile and posts from the exported archive.
More features
Federated
Full ActivityPub, with WebFinger, HTTP signatures, inbox and outbox and NodeInfo, talking to Mastodon, GoToSocial, Akkoma, Misskey and the rest of the fediverse.
One account only
The instance hosts exactly one account, yours, with no sign-ups, invites or third-party moderation.
Everything in a file
The service and the account profile live in one configuration file that can be versioned and reproduced.
Maintenance from the command line
cache clean deletes the thumbnails of remote media, and statuses prune and accounts prune remove old remote posts and accounts that nothing of yours points at, with the rules of Mastodon's tootctl.
About the project
archelon is an ActivityPub server for people who want their own instance without running a Mastodon. It is a single binary with one configuration file, one SQLite file and one media folder: no PostgreSQL, Redis, Sidekiq or Node.
It is not a fork of Mastodon but an independent implementation of the same API. There is no web interface: the front end is the client you prefer, and the only pages it serves are those of the OAuth authorisation flow and the account's public profile. It also deliberately leaves out local copies of remote media, link preview cards and anything that needs ffmpeg.
Federation is tested in containers, both ways, against twelve servers: Mastodon, GoToSocial, Akkoma, Pixelfed, Sharkey, Mitra, Iceshrimp.NET, Friendica, Lemmy, PieFed, Mbin and NodeBB.
Technologies
Rust, in a single binary, with SQLite for data and a folder for media.
License: AGPL-3.0-or-later
Sample material shown in the screenshots:
- Various authors, Wikimedia Commons, CC0
Install archelon
To build, you need Rust 1.90 or newer.
From a release
A static binary with no system dependencies, also for ARM64 (swap amd64 for arm64). The package carries the example configuration, the man page and the systemd unit.
curl -LO https://gitlab.com/alteronauta/archelon/-/releases/26.10.3/downloads/archelon-26.10.3-linux-amd64.tar.gz
curl -LO https://gitlab.com/alteronauta/archelon/-/releases/26.10.3/downloads/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
tar xzf archelon-26.10.3-linux-amd64.tar.gz
install -D archelon-26.10.3-linux-amd64/archelon ~/.local/bin/archelon
From source
git clone https://gitlab.com/alteronauta/archelon.git && cd archelon
cargo build --release --locked
install -D target/release/archelon ~/.local/bin/archelon
After installing, archelon init, archelon passwd and archelon serve create and start the instance. The fediverse only federates over HTTPS, so it needs a domain with a reverse proxy in front; the step-by-step, with systemd and a container, is in the install documentation.