Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
INSTALL.md 4.88 KiB

AK Planning: Setup

This repository contains a Django project with several apps.

Requirements

AKPlanning has two types of requirements: System requirements are dependent on operating system and need to be installed manually beforehand. Python requirements will be installed inside a virtual environment (strongly recommended) during setup.

System Requirements

  • Python 3.7 incl. development tools
  • Virtualenv
  • for production using uwsgi:
    • C compiler e.g. gcc
    • uwsgi
    • uwsgi Python3 plugin
  • for production using Apache (in addition to uwsgi)
    • the mod proxy uwsgi plugin for apache2

Python Requirements

Python requirements are listed in requirements.txt. They can be installed with pip using -r requirements.txt.

Development Setup

  • create a new directory that should contain the files in future, e.g. mkdir AKPlanning
  • change into that directory cd AKPlanning
  • clone this repository git clone URL .

Automatic Setup

  1. execute the setup bash script Utils/setup.sh

Manual Setup

  1. setup a virtual environment using the proper python version virtualenv venv -p python3.7
  2. activate virtualenv source venv/bin/activate
  3. install python requirements pip install -r requirements.txt
  4. setup necessary database tables etc. python manage.py migrate
  5. prepare static files (can be omitted for dev setups) python manage.py collectstatic
  6. compile translations python manage.py compilemessages
  7. create a priviledged user, credentials are entered interactively on CLI python manage.py createsuperuser
  8. deactivate virtualenv deactivate

Development Server

Do not use this for deployment!

To start the application for development, in the root directory,

  1. activate virtualenv source venv/bin/activate
  2. start development server python manage.py runserver 0:8000
  3. In your browser, access http://127.0.0.1:8000/admin/ and continue from there.

Deployment Setup

This application can be deployed using a web server as any other Django application. Remember to use a secret key that is not stored in any repository or similar, and disable DEBUG mode (settings.py).