Installation

Note

If you want to develop on Windows, we suggest using the Windows Subsystem for Linux in combination with Ubuntu and postgresql as local database server.

Prerequisites

Following packages are required before installing the project (install them with your package manager):

Note

If your distro does not contain python3.9 or later, you first have to add a ppa repository, e.g. sudo add-apt-repository ppa:deadsnakes/ppa.

Prerequisites on common distributions

In the following, we provide the commands to install all these prerequisites on popular distributions.

Ubuntu 22.04 LTS (Jammy Jellyfish) / Debian 11 ("Bullseye")
# Install basic requirements
sudo apt install -y apt-transport-https curl gettext git pcregrep python3-pip python3-venv
# Add PPA repository for NodeJS
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
# Add PPA repository for Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
    | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker and NodeJS
sudo apt-get update && apt-cache policy docker-ce && sudo apt install -y containerd.io docker-ce docker-ce-cli nodejs
Ubuntu 20.04 LTS (Focal Fossa) / Debian 10 (Buster)
# Add PPA repository for Python3.9 and above
sudo add-apt-repository -y ppa:deadsnakes/ppa
# Install basic requirements
sudo apt install -y apt-transport-https curl gettext git pcregrep python3-pip python3.11 python3.11-venv
# Add PPA repository for NodeJS
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
# Add PPA repository for Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
    | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker and NodeJS
sudo apt-get update && apt-cache policy docker-ce && sudo apt install -y containerd.io docker-ce docker-ce-cli nodejs

Arch Linux

Note

This assumes you have completed a basic system installation including a web browser etc. and a helper for the AUR, e.g. yay.

# Install requirements
yay -S docker gettext git netcat nodejs-lts-hydrogen npm pcre python-pip

Download sources

Clone the project, either

via SSH:

git clone git@github.com:digitalfabrik/integreat-cms.git
cd integreat-cms

or HTTPS:

git clone https://github.com/digitalfabrik/integreat-cms.git
cd integreat-cms

Install dependencies and local package

And install it using our developer tool tools/install.sh:

./tools/install.sh

Note

This script checks whether the required system-dependencies are installed and installs the project-dependencies via npm and pip. If only one of both dependency-managers should be invoked, run npm ci or pip install -e .[dev-pinned,pinned] directly.