# 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//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/.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 ``` ### Update ``` bash cd /var/www wget https://git.neulandlabor.de/j3d1/toolshed/releases/download//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 ```