-
Notifications
You must be signed in to change notification settings - Fork 6
Installation without docker
- 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.
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:
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
.
Next, change directory into the parkour_app/
subfolder. From now on, all commands will assume this positioning.
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!