Go to file
Thomas Sileo 31a2dd6950 Hide announce from non-followers in the stream 2022-07-27 12:31:32 +02:00
alembic Finish Question/poll support 2022-07-24 12:36:59 +02:00
app Hide announce from non-followers in the stream 2022-07-27 12:31:32 +02:00
data Improve custom emoji support 2022-07-16 07:48:24 +02:00
docs Generate a basic favicon dynamically 2022-07-22 08:46:14 +02:00
misc Docker + docker compose support 2022-07-18 20:44:55 +02:00
scripts Cleanup and improved webmentions support 2022-07-14 16:29:17 +02:00
tests Handle out-of-order Delete activity 2022-07-26 21:10:59 +02:00
.build.yml Switch to Ubuntu for CI (way faster than with alpine) 2022-07-01 19:34:29 +02:00
.dockerignore Add .dockerignore 2022-07-22 18:54:58 +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 Docker + docker compose support 2022-07-18 20:44:55 +02:00
LICENSE Initial commit for new v2 2022-06-22 20:11:22 +02:00
Makefile Docker + docker compose support 2022-07-18 20:44:55 +02:00
README.md Add alt text support for attachments 2022-07-21 22:43:06 +02:00
alembic.ini Initial commit for new v2 2022-06-22 20:11:22 +02:00
boussole.json Fix boussole config 2022-06-22 21:21:50 +02:00
docker-compose.yml Docker + docker compose support 2022-07-18 20:44:55 +02:00
poetry.lock Update deps 2022-07-22 19:36:32 +02:00
pyproject.toml Docker + docker compose support 2022-07-18 20:44:55 +02:00
tasks.py Generate a basic favicon dynamically 2022-07-22 08:46:14 +02:00

README.md

microblog.pub

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

builds.sr.ht status AGPL 3.0

This branch is a complete rewrite of the original microblog.pub server.

Check out the test instance here: testing.microblog.pub.

The original server became hard to debug, maintain and is not super easy to deploy (due to the dependecies like MongoDB).

This rewrite is built using "modern" Python 3.10, SQLite and does not need any external tasks queue service.

It is still in early development, this README will be updated when I get to deploy a personal instance in the wild.

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
  • Lightweight
    • 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).