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 22 or later
uv to manage the Python dependencies
Either postgresql or docker to run a local database server
libpango-1.0-0, libpangoft2-1.0-0 and libharfbuzz0b for PDF export
Note
A system-wide Python installation is not required. uv provisions an interpreter which
satisfies the requires-python constraint of pyproject.toml on its own.
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 libcairo2 libpango-1.0-0 libpangoft2-1.0-0 libharfbuzz0b
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Add PPA repository for NodeJS
curl -fsSL https://deb.nodesource.com/setup_22.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)
# Install basic requirements
sudo apt install -y apt-transport-https curl gettext git pcregrep libcairo2 libpango-1.0-0 libpangoft2-1.0-0 libharfbuzz0b
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Add PPA repository for NodeJS
curl -fsSL https://deb.nodesource.com/setup_22.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 uv
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 uv. If only one of both dependency-managers should be invoked, run
npm cioruv sync --lockeddirectly.By default,
uvselects a suitable Python interpreter itself. To use a specific one which is already installed on your system, pass it to the installation script:./tools/install.sh --python python3.13