Как да инсталирате Stalker Portal (Ministra) на Ubuntu – Пълно ръководство
Здравейте! ![]()
След като разгледахме сървърите за стрийминг (Tvheadend, MythTV, NextPVR), време е да обърнем внимание на Middleware софтуера – системата, която организира тези канали, добавя VOD (видеотека), управлява потребителите и сервира красив интерфейс на приемниците (Set-Top Boxes).
Най-известният и разпространен софтуер за това е Stalker Portal (вече преименуван на Ministra TV Platform от Infomir). Този софтуер стои “между” вашия Tvheadend сървър и MAG приемниците (или емулаторите като STB EMU).
Важно уточнение: Stalker/Ministra е много претенциозен софтуер. Той е написан на PHP и изисква много специфични, остарели версии на софтуера (PHP 5.6 до 7.x, в зависимост от версията на портала), както и стар MySQL. Инсталирането му директно (native) на модерно Ubuntu (22.04/24.04) е истински кошмар заради липсващи стари пакети. Затова най-добрият и стабилен начин е чрез Docker.
Текущи версии (към март 2026)
- Ministra TV Platform (middleware): Последната версия е 5.6.10 (поддържа Ubuntu 18.04/20.04 LTS).
- Ministra PRO (клиентско приложение за Android TV): Версия 1.13.0 (от януари 2026).
- Ministra Player (iOS): Версия 1.24 (от февруари 2024).
Версиите 5.4.0+ изискват поне Ubuntu 16.04. Версиите 5.6.x са тествани с Ubuntu 18.04 и 20.04.
Вариант 1: Инсталация чрез Docker (Препоръчително
)
Използването на Docker решава всички проблеми със старите зависимости, тъй като предоставя изолирана среда с точното PHP и MySQL, от които порталът се нуждае.
Метод А: С salaros/ministra-docker (GitHub
Най-добре поддържан)
Това е най-добре поддържаният Docker Compose проект, достъпен на:
GitHub - salaros/ministra-docker: Ministra / Stalker TV portal · GitHub
Стъпка 1 — Клониране на проекта:
git clone https://github.com/salaros/ministra-docker.git
cd ministra-docker
Стъпка 2 — Конфигурация:
Прегледайте и настройте .env файла (ако има) или docker-compose.yml за паролите на MySQL и мрежовите настройки.
Стъпка 3 — Стартиране:
docker-compose up -d
Метод Б: С random-robbie/stalker_portal_docker (По-прост, всичко-в-едно)
По-прост Docker setup, достъпен на:
GitHub - random-robbie/stalker_portal_docker: Docker Version of Stalker Portal for Mag boxs · GitHub
Особености:
- Порталът работи на порт 90
- phpMyAdmin е на порт 8181 (
задължително го защитете с firewall!) - Данни по подразбиране:
admin/1
git clone https://github.com/random-robbie/stalker_portal_docker.git
cd stalker_portal_docker
docker-compose up -d
Метод В: Ръчен Docker Compose (ако искате пълен контрол)
Ако предпочитате да създадете собствен docker-compose.yml:
mkdir -p ~/stalker
cd ~/stalker
nano docker-compose.yml
version: '3'
services:
mysql:
image: mysql:5.7
container_name: stalker_mysql
environment:
- MYSQL_ROOT_PASSWORD=stalker_root_pass
- MYSQL_DATABASE=stalker_db
- MYSQL_USER=stalker
- MYSQL_PASSWORD=stalker_pass
volumes:
- ./mysql_data:/var/lib/mysql
restart: unless-stopped
memcached:
image: memcached:1.6
container_name: stalker_memcached
restart: unless-stopped
stalker:
image: emmerrsun/stalker_portal:latest
container_name: stalker_portal
ports:
- "88:80"
environment:
- DB_HOST=mysql
- DB_USER=stalker
- DB_PASS=stalker_pass
- DB_NAME=stalker_db
depends_on:
- mysql
- memcached
restart: unless-stopped
docker-compose up -d
Достъп до Административния Панел (за всички методи)
След стартирането, отворете браузъра на:
http://<IP-на-сървъра>:<ПОРТ>/stalker_portal/server/adm/
Данни за вход по подразбиране:
- Потребител:
admin - Парола:
1
Сменете паролата веднага след първия вход!
Вариант 2: Auto-Install скрипт (Native, без Docker)
Ако предпочитате директна инсталация, има два добри auto-install скрипта в GitHub. Те инсталират всички нужни зависимости автоматично:
Скрипт 1: NulledIPTV/Ministra (до версия 5.6.6)
GitHub - NulledIPTV/Ministra: 👨💻 Ministra Portal auto install script · GitHub
git clone https://github.com/NulledIPTV/Ministra.git
cd Ministra
sudo bash install.sh
Поддържа:
- Ubuntu 18.04 и 20.04
- Stalker Portal 5.2 до 5.6.6
- Автоматично инсталира Apache, MySQL 5.7, PHP 7.0, Node.js и Ministra
Скрипт 2: midesidotnet/ministra5610 (версии 5.6.9 и 5.6.10 — Най-нова!)
GitHub - midesidotnet/ministra5610: MINISTRA 5.6.10 · GitHub
git clone https://github.com/midesidotnet/ministra5610.git
cd ministra5610
sudo bash install.sh
Поддържа:
- Ubuntu 18.04 LTS и 20.04 LTS
- Ministra 5.6.9 и 5.6.10 (последните версии)
Забележка: Native инсталацията НЕ работи на Ubuntu 22.04 или 24.04 заради липса на поддръжка за PHP 7.0 и MySQL 5.7 в по-новите пакетни хранилища. Ако имате нова машина, използвайте Docker!
Как се интегрира с Tvheadend?
След като порталът работи, той не стриймва нищо сам по себе си. Той просто предоставя интерфейса (менюта, канали, EPG) на зрителите. Самите канали идват от вашия Tvheadend.
Добавяне на канали от Tvheadend:
- Влезте в Stalker Admin Panel → TV → Channels.
- Създайте нов канал.
- В полето за URL на стрийма поставете HTSP или HTTP линка от Tvheadend:
(къдетоffrt http://user:pass@tvheadend-ip:9981/stream/channelid/XXXffrtе вътрешният протокол на Stalker за пренасочване към външни потоци)
Добавяне на EPG:
- Отидете в TV → EPG в админ панела.
- Добавете XMLTV URL — може да посочите директно EPG endpoint на Tvheadend:
http://user:pass@tvheadend-ip:9981/xmltv/channels
По този начин, когато MAG приемникът или STB EMU приложението покаже менюто с канали, порталът ги насочва директно към Tvheadend за видеото.
Полезни команди
За Docker:
# Статус на контейнерите
docker ps | grep stalker
# Логове на портала
docker logs -f stalker_portal
# Рестарт
docker restart stalker_portal
# Влизане в контейнера (за дебъгване)
docker exec -it stalker_portal bash
За native инсталация:
# Рестарт на Apache (порталът е PHP приложение)
sudo systemctl restart apache2
# Проверка на MySQL
sudo systemctl status mysql
# Логове на портала
tail -f /var/www/html/stalker_portal/logs/*.log
Stalker/Ministra vs Custom Middleware?
Ако имате по-прости нужди (до 20-30 потребителя), Stalker Portal е напълно достатъчен и работи чудесно. За по-голям мащаб обаче, custom решение дава много повече гъвкавост.
Какъв middleware използвате или бихте използвали? Споделете! ![]()