Skip to main content
This guide provides comprehensive installation instructions for Lionz IPTV Downloader, including all prerequisites and optional components.

Prerequisites

Before installing Lionz IPTV Downloader, ensure you have the following components installed on your system.

Required Software

Lionz IPTV Downloader requires PHP 8.4 or higher with the following extensions:
  • php-sqlite3 - SQLite database support
  • php-curl - HTTP client for API requests
  • php-mbstring - Multibyte string handling
  • php-xml - XML processing
  • php-zip - Archive support
Installation on Ubuntu/Debian:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.4 php8.4-cli php8.4-sqlite3 php8.4-curl \
                 php8.4-mbstring php8.4-xml php8.4-zip
Installation on macOS:
brew install [email protected]
Verify installation:
php --version
Composer is required for managing PHP dependencies.Installation:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Verify installation:
composer --version
Learn more at getcomposer.org
pnpm is used for managing Node.js dependencies with better performance and disk efficiency.Installation via npm:
npm install -g pnpm
Installation via standalone script:
curl -fsSL https://get.pnpm.io/install.sh | sh -
Verify installation:
pnpm --version
Alternatively, you can use Bun (configured in package.json as version 1.2.23) for even faster performance.
MeiliSearch is required for fast content search and indexing.Installation on Linux:
curl -L https://install.meilisearch.com | sh
Installation on macOS:
brew install meilisearch
Installation via Docker:
docker run -d -p 7700:7700 \
  -e MEILI_MASTER_KEY=your-master-key \
  -v $(pwd)/meili_data:/meili_data \
  getmeili/meilisearch:latest
Running MeiliSearch:
meilisearch --master-key=your-master-key
MeiliSearch must be running on port 7700 before syncing content. Make sure to set a secure master key in production.
Learn more at meilisearch.com
aria2 is a lightweight multi-protocol & multi-source command-line download utility.Installation on Ubuntu/Debian:
sudo apt install aria2
Installation on macOS:
brew install aria2
Running aria2 RPC server:
aria2c --enable-rpc --rpc-listen-all=true \
       --rpc-secret=your-secret-token \
       --dir=/path/to/downloads
Recommended: Motrix GUIFor a better experience, install Motrix which provides a graphical interface for aria2 with RPC enabled by default:
  • Download from motrix.app
  • Enable RPC in settings
  • Configure RPC secret token
Motrix runs aria2 in the background and provides a clean UI for monitoring downloads. Perfect for desktop use.

Service Requirements

Lionz TV Subscription

You need an active Lionz TV subscription with Xtream Codes API credentials:
  • API Host
  • API Port (typically 80 or 443)
  • Username
  • Password
Contact Lionz TV support if you need help obtaining your API credentials.

Installation Steps

1

Clone the Repository

Clone the repository from GitHub:
git clone https://github.com/shekohex/lionzhd.git
cd lionzhd
Current version: 1.0.13 (check composer.json for latest)
2

Install PHP Dependencies

Install Laravel and all required PHP packages:
composer install
This will install:
  • Laravel 12 framework
  • Inertia.js for SPA functionality
  • Laravel Scout for search integration
  • MeiliSearch PHP client
  • Saloon HTTP client for API requests
  • And many more dependencies (see composer.json)
composer install --no-dev --optimize-autoloader
3

Install Node.js Dependencies

Install React, TypeScript, and frontend build tools:
pnpm install
This installs:
  • React 19 with TypeScript
  • Inertia.js React adapter
  • Tailwind CSS 4
  • Radix UI components
  • Vite for build tooling
  • And all frontend dependencies
Using Bun? Run bun install instead for faster installation.
4

Create SQLite Database

Create an empty SQLite database file:
touch database/database.sqlite
SQLite is the default database configured in .env.example. You can switch to MySQL or PostgreSQL if needed by modifying the DB_CONNECTION setting.
5

Run Post-Installation Script

Execute the post-installation script to set up the application:
composer run-script post-create-project-cmd
This script performs:
  • Generates application encryption key (APP_KEY)
  • Creates database file if missing
  • Runs all database migrations
Output example:
Application key set successfully.
Migration table created successfully.
Migrating: 0001_01_01_000000_create_users_table
Migrated:  0001_01_01_000000_create_users_table (45.67ms)
# ... more migrations
6

Set Up Environment Configuration

Copy the environment example file:
cp .env.example .env
See the Configuration Guide for detailed information on setting up your .env file.
7

Verify Installation

Verify the installation by checking Laravel’s status:
php artisan about
You should see information about your Laravel installation, environment, and cache status.

Optional Components

Development Tools

For development, the following tools are included:
Debug assistant for Laravel applications (already included).Access at: http://localhost:8000/telescopeConfigured in .env:
TELESCOPE_ENABLED=true
Real-time log viewer for development.Run with:
php artisan pail
Pail is automatically started when you run composer dev
Supercharge Laravel performance with Octane (already included).Run with Octane:
php artisan octane:start
Configured in config/octane.php

Production Optimization

For production deployments:
# Optimize autoloader
composer install --optimize-autoloader --no-dev

# Cache configuration
php artisan config:cache

# Cache routes
php artisan route:cache

# Cache views
php artisan view:cache

# Build frontend assets
pnpm run build

Verification

After installation, verify everything is working:
1

Check PHP Version

php --version
# Should show PHP 8.4 or higher
2

Check Database Connection

php artisan db:show
3

Verify MeiliSearch

curl http://localhost:7700/health
# Should return: {"status":"available"}
4

Test aria2 RPC

curl http://localhost:6800/jsonrpc
# Should return aria2 RPC response

Next Steps

Configuration

Configure your environment variables and service connections

Quickstart

Complete the quickstart guide to sync your first content

Troubleshooting

If you encounter permission errors:
sudo chown -R $USER:$USER .
chmod -R 755 storage bootstrap/cache
If port 8000 is already in use:
php artisan serve --port=8080
Install SQLite extension for PHP:
# Ubuntu/Debian
sudo apt install php8.4-sqlite3

# macOS (usually included)
brew reinstall [email protected]
If composer runs out of memory:
COMPOSER_MEMORY_LIMIT=-1 composer install

Build docs developers (and LLMs) love