A self-hosted, single-user, ActivityPub powered microblog.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas Sileo e8fcf5a9a2 Tweak video mode 20 hours ago
alembic Start to merge IndieWeb and AP interactions 2 weeks ago
app Tweak video mode 20 hours ago
data Allow templates to be overridden in data/templates/ 4 weeks ago
docs Document running from subpath 4 days ago
misc Add missing autorestart for supervisord config 3 months ago
scripts Make local actor icon optional 2 weeks ago
tests Improved Block support 2 months ago
.build.yml Switch to Ubuntu for CI (way faster than with alpine) 5 months ago
.dockerignore Tweak .dockerignore 4 months ago
.flake8 Initial commit for new v2 5 months ago
.gitignore Generate a basic favicon dynamically 5 months ago
AUTHORS Update AUTHORS 1 week ago
Dockerfile Tweak Dockerfile 3 months ago
LICENSE Fix LICENSE 4 months ago
Makefile Fix password reset task 1 month ago
README.md Tweak README 3 weeks ago
alembic.ini Reset DB migrations 4 months ago
boussole.json Fix boussole config 5 months ago
docker-compose.yml Fix Docker compose config 4 months ago
poetry.lock Fix OG metadata scraping and improve workers 3 weeks ago
pyproject.toml Fix OG metadata scraping and improve workers 3 weeks ago
tasks.py Added the ability to use a custom favicon. 2 months ago



A self-hosted, single-user, ActivityPub powered microblog.

builds.sr.ht status AGPL 3.0

Instances in the wild:

There are still some rough edges, but the server is mostly functional.


  • Implements the ActivityPub server to server protocol
    • Federate with all the other popular ActivityPub servers like Pleroma, PixelFed, PeerTube, Mastodon...
    • Consume most of the content types available (notes, articles, videos, pictures...)
  • Exposes your ActivityPub profile as a minimalist microblog
    • Author notes in Markdown, with code highlighting support
    • Dedicated section for articles/blog posts (enabled when the first article is posted)
  • Lightweight
    • Uses SQLite, and Python 3.10+
    • Can be deployed on small VPS
  • Privacy-aware
    • EXIF metadata (like GPS location) are stripped before storage
    • Every media is proxied through the server
    • Strict access control for your outbox enforced via HTTP signature
  • No Javascript
    • The UI is pure HTML/CSS
    • Except tiny bits of hand-written JS in the note composer to insert emoji and add alt text to images
  • IndieWeb citizen
  • Easy to backup
    • Everything is stored in the data/ directory: config, uploads, secrets and the SQLite database.

Getting started

Check out the online documentation.



All the development takes place on sourcehut, GitHub is only used as a mirror:

Contributions are welcomed, check out the contributing section of the documentation for more details.


The project is licensed under the GNU AGPL v3 LICENSE (see the LICENSE file).