From 712607f808819f84e31040205cc5a6b75ca9c3c1 Mon Sep 17 00:00:00 2001 From: Thomas Sileo Date: Sat, 30 Jul 2022 09:31:04 +0200 Subject: [PATCH] Update install instructions --- docs/install.md | 57 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/docs/install.md b/docs/install.md index a4b8f88..5a9d774 100644 --- a/docs/install.md +++ b/docs/install.md @@ -6,15 +6,18 @@ Assuming Docker and [Docker Compose](https://docs.docker.com/compose/install/) are already installed. -For now, there's no image published on Docker Hub. +For now, there's no image published on Docker Hub, this means you will have to build the image locally. -Clone the repository. +Clone the repository, replace `you-domain.tld` by your own domain. + +Note that if you want to serve static assets via your reverse proxy (like nginx), clone it in a place +where accessible by your reverse proxy user. ```bash git clone https://git.sr.ht/~tsileo/microblog.pub your-domain.tld ``` -Build the Docker image. +Build the Docker image locally. ```bash make build @@ -26,13 +29,14 @@ Run the configuration wizard. make config ``` -Update `data/profile.toml` and add this line: +Update `data/profile.toml` and add this line in order to process headers from the reverse proxy: ```toml trusted_hosts = ["*"] ``` Start the app with Docker Compose, it will listen on port 8000 by default. +The port can be tweaked in the `docker-compose.yml` file. ```bash docker compose up -d @@ -40,6 +44,17 @@ docker compose up -d Setup a reverse proxy (see the [Reverse Proxy section](/installing.html#reverse-proxy)). +### Updating + +To update microblogpub, pull the latest changes, rebuild the Docker image and restart the process with `docker compose`. + +```bash +git pull +make build +docker compose stop +docker compose up -d +``` + ## Python developer edition Assuming you have a working **Python 3.10+** environment. @@ -82,9 +97,20 @@ VENV_DIR=/home/ubuntu/.cache/pypoetry/virtualenvs/microblogpub-chx-y1oE-py3.10 p Setup a reverse proxy (see the next section). +### Updating + +To update microblogpub locally, pull the remote changes and run the `update` task to regeneratee the CSS and run any DB migrations. + +```bash +git pull +poetry run inv update +``` + ## Reverse proxy -You will also want to setup a reverse proxy like Nginx, see [uvicorn documentation](https://www.uvicorn.org/deployment/#running-behind-nginx): +You will also want to setup a reverse proxy like NGINX, see [uvicorn documentation](https://www.uvicorn.org/deployment/#running-behind-nginx): + +If you don't have a reverse proxy setup yet, [NGINX + certbot](https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/) is recommended. ```nginx server { @@ -105,3 +131,24 @@ server { } ``` + +Optionally, you can serve static files using NGINX directly, with an additional `location` block. +This will require the NGINX user to have access to the `static/` directory. + +```nginx +server { + # [...] + + location / { + # [...] + } + + location /static { + # path for static files + rewrite ^/static/(.*) /$1 break; + root /path/to/your-domain.tld/app/static/; + } + + # [...] +} +```