c160b75851 | ||
---|---|---|
alembic | ||
app | ||
data | ||
docs | ||
misc | ||
scripts | ||
tests | ||
.build.yml | ||
.flake8 | ||
.gitignore | ||
LICENSE | ||
README.md | ||
alembic.ini | ||
boussole.json | ||
poetry.lock | ||
pyproject.toml | ||
tasks.py |
README.md
microblog.pub
A self-hosted, single-user, ActivityPub powered microblog.
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 a tiny bit of hand-written JS in the note composer to insert emoji
- IndieWeb citizen
- IndieAuth support (OAuth2 extension)
- Microformats everywhere
- Sends and processes Webmentions
- RSS/Atom/JSON feed
- Easy to backup
- Everything is stored in the
data/
directory: config, uploads, secrets and the SQLite database.
- Everything is stored in the
Getting started
Check out the online documentation.
Credits
- Emoji from Twemoji
- Awesome custom goose emoji from @pamela@bsd.network
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).