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.
- Docker and Docker Compose (version 1.12 or later). Follow instructions for your platform:
- A Python installation. Python 3.6 or later is recommended, but other versions will probably work - it is only used for the configuration script.
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.
(Optional) Configure a DNS name. This is an entry like
thunor.example.comwhich points to the machine hosting Thunor Web. If you're only testing Thunor Web on your local machine and don't need network access, this step is unnecessary.
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.
To install a locally accessible version for testing, use:
python thunorctl.py deploy --hostname=localhost
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 manage.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
- 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 using
python 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.
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.