From 1a23dd6ca0065fdab50cde5884222b109099c43b Mon Sep 17 00:00:00 2001 From: Oskar Date: Thu, 3 Dec 2020 21:32:49 +0100 Subject: [PATCH] Add Installation instructions --- README.md | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6e1cd62..263c111 100644 --- a/README.md +++ b/README.md @@ -6,18 +6,61 @@ Small webapp to track who was in which room at which time to backtrace potential For Ideas and Progress see [Issues](https://git.fasttube.de/FaSTTUBe/ft-corona-tracker/issues). +## Requirements + +- Unixoid system (linux, BSD, macOS). Windows might also work. +- `python` 3.6+ (might be `python3` on your system) +- `pip` for python 3+ (might be `pip3` on your system) + ## How to run (Dev setup, prod setup not finished yet) ```bash # clone, cd into repo -pip3 install -e . +pip install -e . python3 -m ftracker ``` +Edit `config.ini` to tune your installation. + Then, point your browser at . +## Installation/Deployment + +1. FTracker Backend + +As above: +```bash +# clone, cd into repo +pip install . # Use -e if you want to hack on the backend while installed. +``` + +2. WSGI Server + +You need a WSGI Middleware (using `Flask`'s included `werkzeug` is discouraged +for production environments.). I recommend `uwsgi` since it's flexible, fast +and has `nginx` integration. A sample configuration file as well as service +description files for both `systemd` and `rc` are included in `res/` which you +can adapt to your system (file paths etc.) (The `systemd` service file still +untested, feel free to leave feedback). + +3. Webserver + +You need a webserver. I recommend `nginx` because it's the industry standard +and fast. A sample config file is included at `res/ftracker.nginx.conf` which +you can adapt to your system (domain, SSL certs). The configuration should +include: Webroot in `web/` with a fallback to the WSGI handler for the backend. + +Enabling SSL (https) and redirecting http to https is strongly encouraged, i +recommend using `let'sencrypt`'s `certbot` to easily obtain certificates. + +4. Customization + +Edit `config.ini` to your liking. Restart the backend by restarting the `uwsgi` +service, e.g. `sudo systemctl restart ftracker` or `sudo service ftracker +restart` + ## License Licensed under GNU GPL v3, see [LICENSE.md](https://git.fasttube.de/FaSTTUBe/ft-corona-tracker/src/branch/master/LICENSE.md) for details.