Dependencies Installation
Note
Recommended Approach: Use HEAR-CLI for automated installation (see Quick Start Guide). The manual instructions below are provided for reference and custom setups.
System Requirements
- Operating System
Ubuntu 20.04 LTS or newer
Debian 11 or newer
Other Linux distributions (may require package name adjustments)
- Hardware Requirements
Minimum 2GB RAM (4GB recommended for development)
8GB available disk space
Internet connection for downloading dependencies
- Architecture Support
x86_64 (Intel/AMD)
aarch64 (ARM64 - Raspberry Pi 4, NVIDIA Orin)
Python 3.11 Installation
Python 3.11 is installed via Miniforge to avoid conflicts with system Python:
Install Dependencies
sudo apt-get update
sudo apt-get install -y ca-certificates curl bzip2 wget
Download and Install Miniforge
# Detect architecture automatically
ARCH="$(uname -m)"
case "${ARCH}" in
x86_64|amd64) MINIFORGE_ARCH="x86_64" ;;
aarch64|arm64) MINIFORGE_ARCH="aarch64" ;;
esac
# Download installer
INSTALLER="Miniforge3-Linux-${MINIFORGE_ARCH}.sh"
curl -L "https://github.com/conda-forge/miniforge/releases/latest/download/${INSTALLER}" -o "${INSTALLER}"
chmod +x "${INSTALLER}"
# Install Miniforge
bash "${INSTALLER}" -b -p "${HOME}/miniforge3"
Create Python 3.11 Environment
# Update conda
~/miniforge3/bin/conda update -y -n base conda
# Create Python 3.11 environment
~/miniforge3/bin/conda create -y -n py311 python=3.11
# Create system-wide symlinks
sudo ln -sf "${HOME}/miniforge3/envs/py311/bin/python3.11" /usr/local/bin/python3.11
sudo ln -sf "${HOME}/miniforge3/envs/py311/bin/pip3.11" /usr/local/bin/pip3.11
Add to PATH
echo 'export PATH="$HOME/miniforge3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Disable auto-activation of base environment
conda config --set auto_activate_base false
Verify Installation
python3.11 --version
# Should output: Python 3.11.x
PDM Installation
PDM (Python Development Master) is used for dependency management:
Install PDM
# Ensure Python 3.11 venv module is available
python3.11 -m venv --help
# Install PDM
curl -sSL https://pdm-project.org/install-pdm.py | python3.11 -
Configure PDM
# Add PDM to PATH
export PATH="$HOME/.local/bin:$PATH"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
# Configure PDM to allow pip within virtual environments
pdm config venv.with_pip True
Verify Installation
pdm --version
# Should output PDM version
Redis Installation and Configuration
Redis 7.2+ is required with UNIX socket support:
Add Redis Official Repository
# Install dependencies
sudo apt-get update
sudo apt-get install -y lsb-release curl gpg apt-transport-https ca-certificates gnupg
# Add Redis signing key
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
sudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
# Add Redis repository
DISTRO="$(lsb_release -cs)"
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $DISTRO main" | \
sudo tee /etc/apt/sources.list.d/redis.list
Install Redis
sudo apt-get update
sudo apt-get install -y redis
Configure Redis for UNIX Socket
# Backup original configuration
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak
# Enable UNIX socket
sudo sed -i 's|^# *unixsocket .*|unixsocket /var/run/redis/redis-server.sock|' /etc/redis/redis.conf
sudo sed -i 's|^# *unixsocketperm .*|unixsocketperm 777|' /etc/redis/redis.conf
sudo sed -i 's|^.*daemonize.*|daemonize no|' /etc/redis/redis.conf
sudo sed -i 's|^.*supervised.*|supervised systemd|' /etc/redis/redis.conf
# Restart and enable Redis
sudo systemctl daemon-reload
sudo systemctl restart redis-server
sudo systemctl enable redis-server
# Set socket permissions
sudo chmod 777 /var/run/redis/redis-server.sock
Verify Redis Installation
# Check version
redis-server --version
# Test connection
redis-cli -s /var/run/redis/redis-server.sock ping
# Should output: PONG
Redis Development Tools
Optional C++ development tools for Redis integration:
Install Development Libraries
sudo apt-get install -y libhiredis-dev cmake build-essential
Install redis-plus-plus (C++ Client)
# Create temporary directory
mkdir -p ~/.tmp/redis-build
cd ~/.tmp/redis-build
# Clone and build redis-plus-plus
git clone https://github.com/sewenew/redis-plus-plus.git
cd redis-plus-plus
mkdir build && cd build
cmake ..
make
sudo make install
# Cleanup
cd ~ && rm -rf ~/.tmp/redis-build
Controller Dashboard
Optional web-based controller dashboard:
hear-cli local_machine run_program --p controller_dashboard_prepare
Note
The controller dashboard requires HEAR-CLI to be installed and configured.