Update Simplified_Deployment authored by Jacob Benz's avatar Jacob Benz
...@@ -7,4 +7,17 @@ To deploy the branches `main` and `dev` see (Deployment)[deployment]. After the ...@@ -7,4 +7,17 @@ To deploy the branches `main` and `dev` see (Deployment)[deployment]. After the
You need a server with installed `docker` and the `docker compose` plugin. The server mus be reachable from the internet and must have a domain like `leafwriter.your-university.example.com` assigned and properly configured (DNS etc.). This server needs to have a web server such as Apache or Nginx installed to act as a reverse proxy. You must have the right to execute docker containers either directly or via `sudo` and you must be able to configure the web server. You need a server with installed `docker` and the `docker compose` plugin. The server mus be reachable from the internet and must have a domain like `leafwriter.your-university.example.com` assigned and properly configured (DNS etc.). This server needs to have a web server such as Apache or Nginx installed to act as a reverse proxy. You must have the right to execute docker containers either directly or via `sudo` and you must be able to configure the web server.
LEAF-Writer must be exposed to the internet only via an encrypted connection (`https`). It is the task of the reverse proxy ensure an encrypted connection, therefore you need a suitable certificate. It is enough if this certificate is valid for your chosen domain, e.g. `leafwriter.your-university.example.com`, no subdomain or wildcard capabilities are needed. You can use a `Let's encrypt` certificate, issued via `certbot`. LEAF-Writer must be exposed to the internet only via an encrypted connection (`https`). It is the task of the reverse proxy ensure an encrypted connection, therefore you need a suitable certificate. It is enough if this certificate is valid for your chosen domain, e.g. `leafwriter.your-university.example.com`, no subdomain or wildcard capabilities are needed. You can use a `Let's encrypt` certificate, issued via `certbot`.
The following deployment tutorial will assume that you use (and have installed) `cerbot` to get a SSL-certificate. However, as described, you can also use other certificates, you just have to properly configure them in conjunction with your reverse proxy. The following deployment tutorial will assume that you use (and have installed) `cerbot` to get a SSL-certificate. However, as described, you can also use other certificates, you just have to properly configure them in conjunction with your reverse proxy.
\ No newline at end of file
The machine you want to deploy LEAF-Writer on also needs to have `git` installed. The following guide will assume you are operating in a UNIX-like shell such as bash.
# Deployment
1. Clone LEAF-Writer with all submodules with e.g. `git clone --recurse-submodules https://code.fbi.h-da.de/leaf-writer-x/leafwriter-x.git` (only works on git versions > 2.13)
2. Change the directory to `leafwriter-x` with e.g. `leafwriter-x`
3. Checkout the `exp` branch: `git checkout exp`
4. Checkout the submodules: `git submodule update`
5. All necessary settings for LEAF-Writer are saved in an env-file. Copy the example env-file into place with `cp leafwriter.env-example leafwriter.env`.
6. Open the file `leawriter.env` in a text editor of your choice.
7. Adjust the given environment variables as described in the file. See below for how to obtain a `GEONAMES_USERNAME`.
8. Run the automatic setup docker compose script: `sudo docker compose --env-file leafwriter.env -f leafwriter-configuration-files/docker-compose-keycloak-firstrun.yml up`
9. Wait until you see a line similar to ``
\ No newline at end of file