Installation Guide

Complete guide to installing Turka Vision VMS powered by VALKKA framework

Table of Contents

1. Prerequisites

Before installing Turka Vision, ensure you have the following prerequisites:

  • Linux distribution (Ubuntu 20.04+ recommended) or Windows 10/11
  • Administrative/root access to the system
  • Stable internet connection for downloading packages
  • Basic knowledge of command line operations
  • Network access to camera devices (if installing on dedicated server)

2. System Requirements

Minimum Requirements

  • CPU: Intel i5 or AMD Ryzen 5 (4 cores minimum)
  • RAM: 8 GB (16 GB recommended for >10 cameras)
  • Storage: 100 GB free space (SSD recommended)
  • GPU: Integrated graphics (Dedicated GPU recommended for AI features)
  • Network: Gigabit Ethernet

Recommended for Production

  • CPU: Intel i7/Xeon or AMD Ryzen 7/EPYC (8+ cores)
  • RAM: 32 GB or higher
  • Storage: 1 TB+ NVMe SSD for system, separate storage for recordings
  • GPU: NVIDIA GTX 1060+ or RTX series for AI acceleration
  • Network: Dedicated network interface for camera traffic

3. Dependencies Installation

Ubuntu/Debian

# Update package list
sudo apt update && sudo apt upgrade -y

# Install Python 3.8+ and development tools
sudo apt install python3 python3-pip python3-dev build-essential -y

# Install multimedia libraries
sudo apt install ffmpeg libavformat-dev libavcodec-dev libavutil-dev -y
sudo apt install libswscale-dev libavfilter-dev libavdevice-dev -y

# Install OpenCV dependencies
sudo apt install libopencv-dev python3-opencv -y

# Install additional libraries
sudo apt install libx11-dev mesa-utils -y
sudo apt install git cmake pkg-config -y

Python Dependencies

# Install Python packages
pip3 install --user numpy opencv-python
pip3 install --user imutils requests
pip3 install --user flask flask-cors
pip3 install --user psutil netifaces

4. VALKKA Installation

Note: VALKKA requires compilation from source. This process may take 15-30 minutes depending on your system.

Download and Compile VALKKA

# Clone VALKKA repository
git clone https://github.com/elsampsa/valkka-core.git
cd valkka-core

# Create build directory
mkdir build && cd build

# Configure build with CMake
cmake .. -DCMAKE_BUILD_TYPE=Release

# Compile (use -j4 for 4 cores, adjust based on your CPU)
make -j$(nproc)

# Install system-wide
sudo make install

# Update library cache
sudo ldconfig

Install Python Bindings

# Navigate back to project root
cd ..

# Install Python bindings
python3 setup.py build_ext --inplace
pip3 install --user .

5. Turka Vision Setup

Download Turka Vision

# Create installation directory
sudo mkdir -p /opt/turka-vision
cd /opt/turka-vision

# Download Turka Vision package (replace with actual download link)
wget https://releases.turkavi.net/turka-vision-latest.tar.gz

# Extract package
tar -xzf turka-vision-latest.tar.gz
cd turka-vision

Initial Configuration

# Copy default configuration
cp config/default.conf config/turka-vision.conf

# Create directories for logs and recordings
sudo mkdir -p /var/log/turka-vision
sudo mkdir -p /var/lib/turka-vision/recordings

# Set permissions
sudo chown -R $USER:$USER /var/log/turka-vision
sudo chown -R $USER:$USER /var/lib/turka-vision

Install Service (Optional)

# Copy systemd service file
sudo cp scripts/turka-vision.service /etc/systemd/system/

# Reload systemd and enable service
sudo systemctl daemon-reload
sudo systemctl enable turka-vision.service

6. Installation Verification

Test VALKKA Installation

# Test VALKKA Python import
python3 -c "import valkka; print('VALKKA version:', valkka.VERSION_MAJOR, valkka.VERSION_MINOR, valkka.VERSION_PATCH)"

# Test basic functionality
python3 -c "from valkka import core; print('VALKKA core loaded successfully')"

Start Turka Vision

# Start Turka Vision manually
cd /opt/turka-vision
python3 main.py --config config/turka-vision.conf

# Or start as service
sudo systemctl start turka-vision.service
sudo systemctl status turka-vision.service

Access Web Interface

Open your web browser and navigate to:

http://localhost:8080

Default credentials: admin / admin (change immediately after first login)

Next Steps