This guide assume you have some knoweldge of ActivityPub.
Microblog.pub is a "modern" Python application with "old-school" server-rendered templates.
- Poetry is used for dependency management.
- Most of the code is asynchronous, using asyncio.
- SQLite3 is the default database.
The server has 2 components:
- The web server (powered by FastAPI and Jinja2 templates)
- An additional process that takes care of sending "outgoing actities"
The project uses Invoke to manage tasks (a Python powered Makefile).
You can find the tasks definition in
tasks.py and list the tasks using:
The uploads are stored in the
data/ directory, using a simple content-addressed storage (file contents hash is the name of the store BLOB).
Files metadata are stored in the database.
Running a local version requires:
- Python 3.10+
- SQLite 3.35+
You can follow the Python developer version of the install instructions.
The documention is managed as Markdown files in
docs/ and the online documentation is built using a homegrown Python script (
You can build the documentation locally by running:
And check out the result by starting a static server using Python standard library:
cd docs/dist python -m http.server 8001