Setting up the development environment
Overview
The setup assumes using a Debian Linux system with the bash shell. Other Linux distributions might require adapting these instructions.
Requirements
Before you start
sudo apt update
pyenv
See also: https://github.com/pyenv/pyenv
git clone --branch v2.6.11 --depth 1 https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init - bash)"' >> ~/.bashrc
source ~/.bashrc
Python
sudo apt install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libzstd-dev
pyenv install 3.11.13
pyenv install 3.13.5
pyenv global 3.11.13
Poetry
python3 -m pip install --user pipx
python3 -m pipx ensurepath
source ~/.bashrc
pipx install poetry
node.js
wget https://nodejs.org/dist/v20.19.5/node-v20.19.5-linux-x64.tar.xz
tar -xf node-v20.19.5-linux-x64.tar.xz
echo "PATH=$PWD/node-v20.19.5-linux-x64/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
Other packages
sudo apt install cmake
Source code
git clone --recursive https://github.com/Learn2RAG/configurator
Project dependencies and other components
cd configurator
./install
Runtime dependencies
sudo apt install libgl1 libmagic1
Dependencies for building the packages
Rust
Debian 13
apt install rustup
Debian 12
wget -O ~/.local/bin/rustup-init https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init
chmod +x ~/.local/bin/rustup-init
rustup-init
echo '. "$HOME/.cargo/env"' >> ~/.bashrc
source ~/.bashrc
Cross
cargo install cross --git https://github.com/cross-rs/cross
Docker
sudo apt install docker.io
sudo usermod -aG docker $USER