A self-hosted, single-user, ActivityPub powered microblog.
Go to file
Thomas Sileo 89e21b88e3 Tweak query for pruning inbox data 2022-08-19 00:03:49 +02:00
alembic Start support for deleting remote actors 2022-08-17 21:18:07 +02:00
app Tweak query for pruning inbox data 2022-08-19 00:03:49 +02:00
data Add missing SCSS file in data/ 2022-08-06 17:05:27 +02:00
docs Improve workers for incoming/outgoing activities 2022-08-10 20:34:36 +02:00
misc Simplify Docker support 2022-07-30 09:02:04 +02:00
scripts Improve docs 2022-07-30 09:43:36 +02:00
tests Add test cases for remote actor deletion 2022-08-18 08:32:30 +02:00
.build.yml Switch to Ubuntu for CI (way faster than with alpine) 2022-07-01 19:34:29 +02:00
.dockerignore Tweak .dockerignore 2022-07-30 08:48:13 +02:00
.flake8 Initial commit for new v2 2022-06-22 20:11:22 +02:00
.gitignore Generate a basic favicon dynamically 2022-07-22 08:46:14 +02:00
Dockerfile Simplify Docker support 2022-07-30 09:02:04 +02:00
LICENSE Fix LICENSE 2022-08-05 19:32:22 +02:00
Makefile Update docs 2022-07-28 20:38:54 +02:00
README.md Improve docs 2022-07-30 09:43:36 +02:00
alembic.ini Reset DB migrations 2022-07-28 19:28:18 +02:00
boussole.json Fix boussole config 2022-06-22 21:21:50 +02:00
docker-compose.yml Fix Docker compose config 2022-07-28 20:28:53 +02:00
poetry.lock Update deps 2022-08-10 09:16:34 +02:00
pyproject.toml Tweak pytest config 2022-07-29 09:26:44 +02:00
tasks.py Start support for pruning old inbox data 2022-08-18 23:48:00 +02:00

README.md

microblog.pub

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.

Features

  • 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 no external dependencies except 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.

Credits

Contributing

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

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

License

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