5fc06ccfac | ||
---|---|---|
alembic | ||
app | ||
data | ||
docs | ||
misc | ||
scripts | ||
tests | ||
.build.yml | ||
.dockerignore | ||
.flake8 | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
alembic.ini | ||
boussole.json | ||
docker-compose.yml | ||
poetry.lock | ||
pyproject.toml | ||
tasks.py |
README.md
microblog.pub
A self-hosted, single-user, ActivityPub powered microblog.
Instances in the wild:
- microblog.pub (follow to get updated about the project)
- hexa.ninja (theme customization example)
- testing.microblog.pub
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
- IndieAuth support (OAuth2 extension)
- Microformats everywhere
- Micropub support
- 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).