hls-proxy для трансляции ТВ каналов в локальной сети

Всем привет!
Периодически возникало желание использовать IPTV для просмотра интересных передач или какого-то контента в прямой трансляции (да, XXI век и есть такая потребность, согласен, что рудимент, но тут больше привлекает техническая составляющая). Поставщиков IPTV сейчас пруд пруди, но столкнулся с проблемой, что либо канал интернета слабенький, либо сам клиент, на котором установлен плеер для просмотра, желает лучшего по своим характеристикам и не тянет воспроизведение. Так пришло мне в голову перенести всю логику на что-то более мощное (в нашем случае, это сервер). Сервер должен уметь загружать плейлист, кэшировать поток, может быть, хранить какую-то информацию дополнительно.

Начал искать в интернете. Поиск внятного ответа по готовым решениям не дал. Благо, добрые люди ответили в одном из чатов в нашем тг канале, что есть такой прокси в природе, называется hls-proxy (ссылка на сайт проекта). Начал изучение. Документации мало, но она есть, как и отдельный тг канал, в котором автор отвечает на вопросы.

Что советует автор: скачать архив с сайта, запустить скрипт в терминале компьютера, держать открытым терминал, пока пользуетесь ТВ.

Что советуют люди у них в чате: установить все посредством докера без привязки к жизненному циклу компьютера и докера, уже лучше. Но проблема в том, что официального образа нет, а поиском находится с десяток всяких разных без внятного описания и инструкций.

Мне же было бы интересно, как можно установить прокси посредством проекта samohosting?

Варианты решения:

  1. это может быть контейнер в dockge.

  2. установка отдельного LXC в консольном режиме, где крутится скрипт hls-proxy.

  3. установка отдельного LXC с графическим режимом (Ubuntu и аналоги).

Может, у кого был опыт настройки? Буду рад любым комментариям и советам.

Я сам им не пользовался, но

Так в инструкции же всё есть:

Запускаешь пустой LXC контейнер, в него вливаешь архив, распаковываешь, запускаешь install.sh. Судя по скрипту, он сам всё прописывает в systemd для автозапуска.

Благодарю за комментарий, да, скрипт устанавливается одной командой. Но тут больше вопрос был по правилам реализации, как лучше сделать, держать под этот (каждый любой другой) сервис отдельный контейнер или можно в одном каком-то, скажем, служебном контейнере реализовать несколько сервисов, которые там будут крутиться?

Ну тут вопрос для размышлений.

Раньше я пользовался PVE+LXC, под каждый сервис отдельный контейнер, кроме баз данных, я их решил вынести в один контейнер и в одной СУБД держать все базы. Поднял SaltStack. Настроил шаблон контейнера, в котором через SaltStack миньона сервисы сами поднимались. Но потом стало лень это всё поддерживать: обновлять ОС внутри контейнеров, искать как делать проверку обновлении для сервисов. В итоге перешел на докер с watchtower.

Как бы концепция докера и есть один контейнер - один сервис (хотя не раз встречал довольно крупные проекты в которых в один образ напихивали всего и побольше). LXC же предлагает: вот тебе окружение с практически отдельной ОС делай с ним что хочешь.

Это всё зависит от текущей и будущей реализации домашней лаборатории. Как бы стандартов на этот счёт нет.

2 лайка