102 lines
1.9 KiB
Markdown
102 lines
1.9 KiB
Markdown
|
# Deployment
|
||
|
|
||
|
## Native
|
||
|
|
||
|
### Requirements
|
||
|
|
||
|
- python3
|
||
|
- python3-pip
|
||
|
- python3-venv
|
||
|
- wget
|
||
|
- unzip
|
||
|
- nginx
|
||
|
- uwsgi
|
||
|
- certbot
|
||
|
|
||
|
### Installation
|
||
|
|
||
|
Get the latest release:
|
||
|
|
||
|
``` bash
|
||
|
cd /var/www # or wherever you want to install toolshed
|
||
|
wget https://git.neulandlabor.de/j3d1/toolshed/releases/download/<version>/toolshed.zip
|
||
|
```
|
||
|
or from github:
|
||
|
``` bash
|
||
|
cd /var/www # or wherever you want to install toolshed
|
||
|
wget https://github.com/gr4yj3d1/toolshed/archive/refs/tags/<version>.zip -O toolshed.zip
|
||
|
```
|
||
|
|
||
|
Extract and configure the backend:
|
||
|
|
||
|
``` bash
|
||
|
unzip toolshed.zip
|
||
|
cd toolshed/backend
|
||
|
python3 -m venv venv
|
||
|
source venv/bin/activate
|
||
|
pip install -r requirements.txt
|
||
|
python configure.py
|
||
|
```
|
||
|
|
||
|
Configure uWSGI to serve the backend locally:
|
||
|
|
||
|
``` bash
|
||
|
cd /var/www/toolshed/backend
|
||
|
cp toolshed.ini /etc/uwsgi/apps-available/
|
||
|
ln -s /etc/uwsgi/apps-available/toolshed.ini /etc/uwsgi/apps-enabled/
|
||
|
systemctl restart uwsgi
|
||
|
```
|
||
|
|
||
|
Configure nginx to serve the static files and proxy the requests to the backend:
|
||
|
|
||
|
``` bash
|
||
|
cd /var/www/toolshed/backend
|
||
|
cp toolshed.nginx /etc/nginx/sites-available/toolshed
|
||
|
ln -s /etc/nginx/sites-available/toolsheed /etc/nginx/sites-enabled/
|
||
|
systemctl restart nginx
|
||
|
```
|
||
|
|
||
|
Configure certbot to get a certificate for the domain:
|
||
|
|
||
|
``` bash
|
||
|
certbot --nginx -d <domain>
|
||
|
```
|
||
|
|
||
|
### Update
|
||
|
|
||
|
``` bash
|
||
|
cd /var/www
|
||
|
wget https://git.neulandlabor.de/j3d1/toolshed/releases/download/<version>/toolshed.zip
|
||
|
unzip toolshed.zip
|
||
|
cd toolshed/backend
|
||
|
source venv/bin/activate
|
||
|
pip install -r requirements.txt
|
||
|
python configure.py
|
||
|
systemctl restart uwsgi
|
||
|
```
|
||
|
|
||
|
## Docker
|
||
|
|
||
|
### Requirements
|
||
|
|
||
|
- docker
|
||
|
- docker-compose
|
||
|
- git
|
||
|
|
||
|
### Installation
|
||
|
|
||
|
``` bash
|
||
|
git clone https://git.neulandlabor.de/j3d1/toolshed.git
|
||
|
# or
|
||
|
git clone https://github.com/gr4yj3d1/toolshed.git
|
||
|
cd toolshed
|
||
|
docker-compose -f deploy/docker-compose.prod.yml up -d --build
|
||
|
```
|
||
|
|
||
|
### Update
|
||
|
|
||
|
``` bash
|
||
|
toolshed
|
||
|
git pull
|
||
|
docker-compose -f deploy/docker-compose.prod.yml up -d --build
|
||
|
```
|