A self-hosted, single-user, ActivityPub powered microblog.
Still in early development/I do not recommend to run an instance yet.
Remember that microblog.pub is still in early development.
The easiest and recommended way to run microblog.pub in production is to use the provided docker-compose config.
Note that all the generated data (config included) will be stored on the host (i.e. not only in Docker) in
$ git clone https://github.com/tsileo/microblog.pub $ cd microblog.pub $ make config
Once the initial configuration is done, you can still tweak the config by editing
To spawn the docker-compose project (running this command will also update microblog.pub to latest and restart everything if it's already running):
$ make run
By default, the server will listen on
localhost:5005 (http://localhost:5005 should work if you're running locally).
For production, you need to setup a reverse proxy (nginx, caddy) to forward your domain to the local server (and check certbot for getting a free TLS certificate).
See docs/api.md for the internal HTTP API documentation.
The easiest way to backup all of your data is to backup the
microblog.pub/ directory directly (that's what I do and I have been able to restore super easily).
It should be safe to copy the directory while the Docker compose project is running.
The project requires Python3.7+.
The most convenient way to hack on microblog.pub is to run the Python server on the host directly, and evetything else in Docker.
# One-time setup (in a new virtual env) $ pip install -r requirements.txt # Start MongoDB and poussetaches $ make poussetaches $ env POUSSETACHES_AUTH_KEY="<secret-key>" docker-compose -f docker-compose-dev.yml up -d # Run the server locally $ FLASK_DEBUG=1 MICROBLOGPUB_DEBUG=1 FLASK_APP=app.py POUSSETACHES_AUTH_KEY="<secret-key>" flask run -p 5005 --with-threads
Contributions/PRs are welcome, please open an issue to start a discussion before your start any work.