Typical installation
This section will show you how to install Thunor Web for testing or production use.
Thunor Web consists of several components, which are controlled together by a system called Docker Compose. Each component runs in a separate container, which makes the system modular and increases security.
A typical installation will use the following components:
- Thunor Web application server, written in Python using the Django framework.
 - nginx web server, to handle HTTP requests
 - Postgres database server
 - Redis key-value server, used for caching time-consuming calculations and database queries.
 
Requirements
- Docker and Docker Compose v2 (i.e. 
docker composeshould work, without a dash). Follow instructions for your platform:- Docker for Windows
 - Docker for Mac
 - Docker for Linux
 - Other platforms: Docker installation instructions
 
 - A Python installation. Python 3.6 or later is recommended, but other versions will probably work - it is only used for the configuration script.
 - Git
 
If you use MacOS or Linux, you probably already have Python and git installed. If you use Windows, we recommend installing Anaconda, a Python distribution which includes lots of useful software.
Installation steps
- 
(Optional) Configure a DNS name. If you're only testing Thunor Web on your local machine and don't need network access, this step is unnecessary. A DNS name is an entry like
thunor.example.comwhich points to the machine hosting Thunor Web (specifically, an "A record"). Contact your domain provider for further information. - 
Retrieve the Thunor Web quick start tool using git
git clone https://github.com/alubbock/thunor-web-quickstart thunor-web cd thunor-web - 
Run the Thunor Web deploy script.
Choose an option: (a) for local only installation (single computer), or (b) network accessible installation.
(a) To install a local only version for testing, use:
python thunorctl.py deploy --hostname=localhostOR (b) To install a network accessible version at
thunor.example.com, and to activate TLS encrypted connections using certbot, use:python thunorctl.py deploy --hostname=thunor.example.com --enable-tls - 
Create an admin account. You can use this to log in.
python thunorctl.py createsuperuser 
That's it! Thunor Web is now ready to start.
Starting and stopping
To start Thunor Web:
python thunorctl.py start
To stop Thunor Web:
python thunorctl.py stop
These commands must be run from the thunor-web directory.
Next steps
- Check the installation FAQ if you're having issues.
 - Configure the system by changing settings in 
thunor-app.env(described in configuration options). After changing configuration values, restart Thunor Web usingpython thunorctl.py restart. - You can add and invite new users, and create user groups in the admin interface.
 - If you enabled TLS encryption, you may wish to schedule a job to renew those certificates automatically (they only last 90 days). See the section on TLS Encryption for details.
 
Uninstallation
Simply stop the system with python thunorctl.py stop, then delete the Thunor Web directory (noting that this
will delete all data in Thunor Web, of course).
Upgrade Thunor Web
Check your current version with:
python thunorctl.py version
To upgrade to the latest version, run:
git pull
python thunorctl.py upgrade
In production, a database backup is recommended before performing an upgrade.