Как да инсталирате MythTV на Ubuntu – Пълно ръководство (Native + Docker)

Как да инсталирате MythTV на Ubuntu – Пълно ръководство (Native + Docker)

Здравейте! :waving_hand:

След ръководството за Tvheadend, реших да направя подобно и за MythTV — друг много популярен софтуер за телевизия под Linux. MythTV е доста по-голям като проект — освен стрийминг, може да записва, shift-ва ефира, реже реклами автоматично и дори да се ползва като медиен център. Но пък е и малко по-сложен за инсталация, затова ще обясня всичко стъпка по стъпка.


Вариант 1: Директна инсталация на Ubuntu (Native)

Стъпка 1 — Обновяване на системата

Стандартно, започваме с ъпдейт:

sudo apt update
sudo apt upgrade -y

Стъпка 2 — Добавяме PPA хранилището на MythTV

Официалният екип на MythTV поддържа PPA-та за Ubuntu. За стабилната версия (v35) командата е:

sudo add-apt-repository ppa:mythbuntu/35 -y
sudo apt update

:light_bulb: Забележка: Ако искате по-новата (но по-рискова) v36, сменете 35 с 36. Аз лично предпочитам стабилната версия за продукция.

Стъпка 3 — Инсталиране на базата данни

MythTV задължително изисква MySQL или MariaDB за работа. Ако нямате, инсталирайте MariaDB:

sudo apt install mariadb-server -y
sudo systemctl enable --now mariadb

По желание може да пуснете и скрипта за сигурност:

sudo mysql_secure_installation

Там ще ви пита за root парола, премахване на тестови бази и т.н. — просто отговаряйте с „Y" на всичко.

Стъпка 4 — Инсталиране на MythTV Backend

Това е самият сървър, който приема и обработва сигнала:

sudo apt install mythtv-backend -y

Ще ви изтегли и инсталира всички зависимости автоматично. Може да отнеме малко време.

Стъпка 5 — Първоначална конфигурация (mythtv-setup)

Тук е малко по-различно от Tvheadend — MythTV изисква графичен интерфейс за първоначалната настройка. Ако сте на сървър без монитор, може да ползвате X11 forwarding:

# Ако сте на самата машина:
mythtv-setup

# Ако сте по SSH с X11 forwarding:
ssh -X user@сървъра
mythtv-setup

В setup wizard-а трябва да конфигурирате:

  1. General — Име на сървъра и мрежови настройки
  2. Capture Cards — Добавяте DVB тунерите си (ще ги разпознае автоматично ако драйверите са качени)
  3. Video Sources — Откъде идва EPG информацията
  4. Input Connections — Свързвате тунерите с източниците
  5. Channel Editor — Проверка и настройка на каналите

Стъпка 6 — Стартиране на услугата

След като завършите настройката:

sudo systemctl enable --now mythtv-backend

Проверете дали работи:

sudo systemctl status mythtv-backend

Стъпка 7 — Уеб интерфейс

MythTV има вграден уеб интерфейс. Отворете браузъра на:

http://<IP-на-сървъра>:6544

Оттам можете да видите статуса, насрочените записи, и да правите основни настройки.

Бонус — MythWeb (по избор)

Ако искате по-пълен уеб интерфейс за управление на записи и планиране:

sudo apt install mythweb -y

Достъпвате го на:

http://<IP-на-сървъра>/mythweb

Вариант 2: Инсталация чрез Docker

:warning: Важна забележка: За разлика от Tvheadend, MythTV няма официален Docker образ от LinuxServer.io. Има само community образи, които работят, но не се поддържат толкова активно. Ако не сте запознати с Docker, препоръчвам native инсталацията за MythTV.

Въпреки това, ето как може да стане с Docker:

Стъпка 1 — Инсталиране на Docker

Ако все още нямате Docker:

sudo apt update
sudo apt install docker.io docker-compose -y
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

Стъпка 2 — Създаване на директории

mkdir -p ~/.mythtv/config
mkdir -p ~/.mythtv/recordings
mkdir -p ~/.mythtv/database

Стъпка 3 — Docker Compose файл

Създайте docker-compose.yml:

nano docker-compose.yml
version: "3"
services:
  mythdb:
    image: mariadb:10.11
    container_name: mythdb
    environment:
      - MYSQL_ROOT_PASSWORD=mythtv_root_pass
      - MYSQL_DATABASE=mythconverg
      - MYSQL_USER=mythtv
      - MYSQL_PASSWORD=mythtv
    volumes:
      - ~/.mythtv/database:/var/lib/mysql
    restart: unless-stopped

  mythtv:
    image: bfg100k/docker-mythtv:latest
    container_name: mythtv
    network_mode: host
    environment:
      - DATABASE_HOST=127.0.0.1
      - DATABASE_NAME=mythconverg
      - DATABASE_USER=mythtv
      - DATABASE_PWD=mythtv
    volumes:
      - ~/.mythtv/config:/home/mythtv/.mythtv
      - ~/.mythtv/recordings:/var/lib/mythtv
    depends_on:
      - mythdb
    restart: unless-stopped

Стартирайте:

docker-compose up -d

Стъпка 4 — Първоначална настройка

Тъй като MythTV изисква графичен wizard за конфигурация, някои Docker образи предлагат VNC достъп. Проверете документацията на конкретния образ, който ползвате — обикновено има таг за setup режим, който пуска VNC на порт 5900 или 5901.

Стъпка 5 — Хардуерни тунери

Както при Tvheadend, ако използвате DVB хардуер, добавете в docker-compose.yml:

    devices:
      - /dev/dvb:/dev/dvb

Полезни команди за проверка

За native инсталация:

# Статус на услугата
sudo systemctl status mythtv-backend

# Рестарт
sudo systemctl restart mythtv-backend

# Логове
journalctl -u mythtv-backend -f

# Пренастройка
mythtv-setup

За Docker:

# Статус на контейнерите
docker ps | grep myth

# Логове
docker logs -f mythtv

# Рестарт
docker restart mythtv

MythTV vs Tvheadend — Кога кое да изберете?

MythTV Tvheadend
Основна цел DVR / Медиен център Стрийминг сървър
Запис (DVR) :white_check_mark: Вграден + рязане на реклами :white_check_mark: Основен
Стрийминг :white_check_mark: Но не е фокусът :white_check_mark: Основна функция
IPTV поддръжка :warning: Ограничена :white_check_mark: Отлична
Уеб интерфейс :white_check_mark: MythWeb :white_check_mark: Вграден
Сложност :red_circle: По-сложен :green_circle: По-прост
Docker поддръжка :warning: Community :white_check_mark: Официален (LinuxServer)

Накратко — ако ви трябва предимно стрийминг, Tvheadend е по-лесният и по-добрият избор. Ако обаче искате пълноценен DVR с автоматичен запис, timeshift и рязане на реклами, MythTV е звярът за тази работа. :penguin:


Ако имате въпроси — пишете! :speech_balloon: