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):
npm version 7 or later
nodejs version 18 or later
python3 version 3.9 or later
python3-pip (Debian-based distributions, e.g. Ubuntu) / python-pip (Arch-based distributions)
python3-venv (Only Debian-based distributions, e.g. Ubuntu)
Either postgresql or docker to run a local database server
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.