# toolshed ## Development ``` bash git clone https://github.com/gr4yj3d1/toolshed.git ``` or ``` bash git clone https://git.neulandlabor.de/j3d1/toolshed.git ``` all following development mode commands support auto-reloading and hot-reloading where applicable, they do not need to bw restarted after changes. ### Backend only ``` bash cd toolshed/backend python3 -m venv venv source venv/bin/activate pip install -r requirements.txt python configure.py python manage.py runserver 0.0.0.0:8000 --insecure ``` to run this in properly in production, you need to configure a webserver to serve the static files and proxy the requests to the backend, then run the backend with just `python manage.py runserver` without the `--insecure` flag. ### Frontend only ``` bash cd toolshed/frontend npm install npm run dev ``` ### Docs only ``` bash cd toolshed/docs mkdocs serve ``` ### Full stack ``` bash cd toolshed docker-compose -f deploy/docker-compose.override.yml up --build ``` ## Deployment ### Requirements - python3 - python3-pip - python3-venv - wget - unzip - nginx - uwsgi ### Installation * Get the latest release from `https://git.neulandlabor.de/j3d1/toolshed/releases/download//toolshed.zip` or `https://github.com/gr4yj3d1/toolshed/archive/refs/tags/.zip`. * Unpack it to `/var/www` or wherever you want to install toolshed. * Create a virtual environment and install the requirements. * Then run the configuration script. * Configure your webserver to serve the static files and proxy the requests to the backend. * Configure your webserver to run the backend with uwsgi. for detailed instructions see [docs](/docs/deployment.md). ## CLI Client ### Requirements - python3 - python3-nacl ### Usage Example ``` bash cli-client/toolshed-client.py --key --user name@example.com --host 1.2.3.4:8000 getinventory ```