Skip to content

Installation without docker

A.s edited this page Jul 25, 2023 · 33 revisions

Pre-requisites

  • Python (any version matching the ones specified here grep python-version .github/workflows/django.yml).
  • Virtualenv (e.g. python3-venv package from your distro's repositories).
  • PostgreSQL database (Django framework will administer tables inside it).
  • E-mail server, Open port, TLS certificates, DNS routing, Reverse Proxy, Backup strategy, etc.

Steps

Execute these commands as the user that will be running/ exposing the application.

Note that the default branch is 'develop'. We dropped main to ease the development among contributors. If you wanted to get one of the stable releases, please do so by adding --branch 1.0.0 to git-clone. Do so with an appropriate version number from releases.

git clone --depth=1 [email protected]:maxplanck-ie/parkour2.git
python3 -m venv env_app
source ./env_app/bin/activate
pip install -r parkour_app/requirements/prod.txt

Once the installation is done, there are three final setup actions that need to be taken care of:

1

We assume some environmental variables are set (e.g. LANG, LC_TIME, TZ, etc.) ... Next, you'll need to set further environmental variables (use export so that these are inherited by downstream processes). Take a look at misc/parkour.env.sample to get an idea of what you'll need (e.g. DATABASE_URL is read by Django to authenticate with your PostgreSQL instance). Optionally, add your email and password using the variables SETUP_ADMIN_EMAIL and SETUP_ADMIN_PASSWORD.

2

Next, change directory into the parkour_app/ subfolder. From now on, all commands will assume this positioning.

3

At last, run the application (in this example, using 4 workers and binding it to port 8000 of all available IP addresses, to be taken care afterward by a web server running as a reverse proxy).

gunicorn wui.wsgi:application -t 600 -w 4 -b :8000

See Green Unicorn's Official Documentation for further details.

To log in, use the admin account configured from the environmental variables, or create a super-user with the following command: python manage.py createsuperuser.

Finally, populate your database according to your needs (see the user manual for details, or check Django's loaddata administrative command). Use the cog icon in the top-right corner to access the 'Site Admin' panel. Good luck!

Clone this wiki locally