Prerequisites

Note

All steps in this guide can be applied to and were tested on a fresh minimal installation of Ubuntu 22.04. Other operating systems may require slightly different steps to set up the prerequisites correctly.

Poetry

HELIPORT is packaged using Poetry. We require a Poetry version of 1.2 or newer. If your system does not provide such a new Poetry version yet, you can follow the install instructions in the Poetry documentation.

Celery Broker

For asynchronous task execution, HELIPORT requires the task queue Celery. Celery can be run with different brokers and result backends. Brokers are used to pass messages around and coordinate task execution, the backends store results of the executed tasks. More information on this topic can be found in Celery’s “First steps with Django” and “Backends and Brokers” docs. You can choose between RabbitMQ and Redis as your Celery broker.

On Ubuntu, Redis can be installed and started with the following commands:

sudo apt-get update && sudo apt-get install redis
sudo systemctl start redis.service

For RabbitMQ, detailed instructions are provided in the “First steps with Celery - Choosing a Broker” guide. It also suggests how to set up either option using Docker.

Yarn

To install JavaScript and CSS packages for the HELIPORT frontend, you will need the Yarn package manager.

Note

On some systems the command to invoke Yarn is called yarn, on others it might be called yarnpkg.

Web Server

To serve the HELIPORT website, you will need a web server. Different options are available. For nginx, an example config is available.

Warning

HELIPORT deals with usernames, passwords, and other login credentials. Thus, it is highly discouraged to run a HELIPORT instance behind a web server without SSL/TLS encryption in a production environment. For local usage, creating a self-signed certificate is sufficient. Various guides on this topic can be found online. If you need a certificate signed by a trusted authority, non-profit organizations like Let’s Encrypt offer free certificates.