A self-hosted, single-user, ActivityPub powered microblog.
Go to file
Thomas Sileo 9c8693ea55 Quick hotfix for retries 2023-07-14 17:50:26 +02:00
alembic Add OAuth refresh token support 2022-12-18 12:55:24 +01:00
app Quick hotfix for retries 2023-07-14 17:50:26 +02:00
data Allow templates to be overridden in data/templates/ 2022-11-07 18:46:21 +01:00
docs More docs tweaks 2023-01-20 08:38:19 +01:00
misc Add missing autorestart for supervisord config 2022-09-01 12:35:15 +02:00
scripts Make local actor icon optional 2022-11-19 08:12:49 +01:00
tests Add support for custom webfinger domain 2022-12-19 20:49:19 +01: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
AUTHORS Update AUTHORS 2022-12-06 19:40:06 +01:00
Dockerfile Default to Python 3.11 in the Dockerfile 2022-12-24 09:50:51 +01:00
LICENSE Fix LICENSE 2022-08-05 19:32:22 +02:00
Makefile Document the new follows import task 2022-12-06 20:26:15 +01:00
README.md Tweak README 2023-01-07 09:42:33 +01: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 Upgrade deps 2023-07-03 20:36:24 +02:00
pyproject.toml Update deps 2022-12-15 21:07:29 +01:00
tasks.py Patch invoke for Python 3.11 support 2022-12-23 09:32:40 +01: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 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 contributing section of the documentation for more details.

License

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