toolshed/docs/deployment.md
jedi 6b5ccc2be6
All checks were successful
continuous-integration/drone/push Build is passing
restructure docs
2024-04-06 19:55:47 +02:00

1.9 KiB

Deployment

Native

Requirements

  • python3
  • python3-pip
  • python3-venv
  • wget
  • unzip
  • nginx
  • uwsgi
  • certbot

Installation

Get the latest release:

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:

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:

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:

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:

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:

certbot --nginx -d <domain>

Update

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

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

toolshed
git pull
docker-compose -f deploy/docker-compose.prod.yml up -d --build