microblog.pub/docs/install.md
2022-07-30 09:02:04 +02:00

2 KiB

Installing

[TOC]

Docker edition

Assuming Docker and Docker Compose are already installed.

For now, there's no image published on Docker Hub.

Clone the repository.

git clone https://git.sr.ht/~tsileo/microblog.pub your-domain.tld

Build the Docker image.

make build

Run the configuration wizard.

make config

Update data/profile.toml and add this line:

trusted_hosts = ["*"]

Start the app with Docker Compose, it will listen on port 8000 by default.

docker compose up -d

Setup a reverse proxy (see the Reverse Proxy section).

Python developer edition

Assuming you have a working Python 3.10+ environment.

Setup Poetry.

curl -sSL https://install.python-poetry.org | python3 -

Clone the repository.

git clone https://git.sr.ht/~tsileo/microblog.pub testing.microblog.pub

Install deps.

poetry install

Setup config.

poetry run inv configuration-wizard

Grab your virtualenv path.

poetry env info

Run the two processes with supervisord.

VENV_DIR=/home/ubuntu/.cache/pypoetry/virtualenvs/microblogpub-chx-y1oE-py3.10 poetry run supervisord -c misc/supervisord.conf -n

Setup a reverse proxy (see the next section).

Reverse proxy

You will also want to setup a reverse proxy like Nginx, see uvicorn documentation:

server {
    client_max_body_size 4G;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection $connection_upgrade;
      proxy_redirect off;
      proxy_buffering off;
      proxy_pass http://localhost:8000;
    }

    # [...]
}