Add docker instructions
This commit is contained in:
parent
79d4af32ac
commit
7ba6a2d429
57
README.md
57
README.md
|
@ -28,15 +28,58 @@ Then, point your browser at <http://localhost:5000/>.
|
||||||
|
|
||||||
## Installation/Deployment
|
## Installation/Deployment
|
||||||
|
|
||||||
### 1. FTracker Backend
|
There are 2 methods: Docker and Manual.
|
||||||
|
|
||||||
|
### Method A: Docker
|
||||||
|
|
||||||
|
If you want to manage SSL in your own webserver, you can simply run
|
||||||
|
|
||||||
As above:
|
|
||||||
```bash
|
```bash
|
||||||
# clone, cd into repo
|
sudo docker run \
|
||||||
pip install . # Use -e if you want to hack on the backend while installed.
|
-d \
|
||||||
|
--name ftracker \
|
||||||
|
-p 80:80 \
|
||||||
|
-v /your/full/path/to/config.ini:/etc/ftracker/config.ini \
|
||||||
|
fasttube/ftracker
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. WSGI Server + Service file
|
If you want the container to also handle SSL so it can run standalone you need
|
||||||
|
to build it like this:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# clone, cd into repo
|
||||||
|
sudo docker build . -t ftracker --build-arg DOMAIN=ftracker.example.com
|
||||||
|
```
|
||||||
|
|
||||||
|
And then run it:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo docker run \
|
||||||
|
-d \
|
||||||
|
--name ftracker \
|
||||||
|
-p 80:80 \
|
||||||
|
-v /your/full/path/to/config.ini:/etc/ftracker/config.ini \
|
||||||
|
ftracker
|
||||||
|
```
|
||||||
|
|
||||||
|
To stop/start the container afterwards, run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker stop ftracker # might take up to 10 seconds
|
||||||
|
docker start ftracker
|
||||||
|
```
|
||||||
|
|
||||||
|
### Method B: Manual
|
||||||
|
|
||||||
|
#### 1. FTracker Backend
|
||||||
|
|
||||||
|
Install backend system wide:
|
||||||
|
```bash
|
||||||
|
# clone, cd into repo
|
||||||
|
sudo -H pip install . # Use -e if you want to hack on the backend while installed.
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2. WSGI Server + Service file
|
||||||
|
|
||||||
You need a WSGI Middleware (using `Flask`'s included `werkzeug` is discouraged
|
You need a WSGI Middleware (using `Flask`'s included `werkzeug` is discouraged
|
||||||
for production environments). I recommend `uwsgi` since it's flexible, fast and
|
for production environments). I recommend `uwsgi` since it's flexible, fast and
|
||||||
|
@ -45,7 +88,7 @@ description files for both `systemd` and `rc` are included in `res/` for you to
|
||||||
adapt (file paths etc.) and install to your system (The `systemd` service file
|
adapt (file paths etc.) and install to your system (The `systemd` service file
|
||||||
still untested though, feel free to leave feedback).
|
still untested though, feel free to leave feedback).
|
||||||
|
|
||||||
### 3. Webserver
|
#### 3. Webserver
|
||||||
|
|
||||||
You need a webserver. I recommend `nginx` because it's the industry standard
|
You need a webserver. I recommend `nginx` because it's the industry standard
|
||||||
and fast. A sample config file is included in `res/` for you to adapt (domain,
|
and fast. A sample config file is included in `res/` for you to adapt (domain,
|
||||||
|
@ -55,7 +98,7 @@ 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
|
Enabling SSL (https) and redirecting http to https is strongly encouraged, i
|
||||||
recommend using `Let's Encrypt`'s `certbot` to easily obtain certificates.
|
recommend using `Let's Encrypt`'s `certbot` to easily obtain certificates.
|
||||||
|
|
||||||
### 4. Customization
|
#### 4. Customization
|
||||||
|
|
||||||
Edit `config.ini` to your liking. Restart the backend by restarting the `uwsgi`
|
Edit `config.ini` to your liking. Restart the backend by restarting the `uwsgi`
|
||||||
service, e.g. `sudo systemctl restart ftracker` or `sudo service ftracker
|
service, e.g. `sudo systemctl restart ftracker` or `sudo service ftracker
|
||||||
|
|
|
@ -16,7 +16,7 @@ admin_pass = topSecret
|
||||||
|
|
||||||
|
|
||||||
# Link to a document with guidelines for entering
|
# Link to a document with guidelines for entering
|
||||||
guideline_url = https://fasttube.de/wp-content/uploads/2020/12/Cororna-Regeln-Stand-01.12.2020.pdf
|
guideline_url = https://youtu.be/oHg5SJYRHA0
|
||||||
|
|
||||||
|
|
||||||
# JSON indentation for debugging
|
# JSON indentation for debugging
|
||||||
|
|
Loading…
Reference in New Issue