Ввиду того, что новомодная виртуализация докатилась и до домашней недоинфраструктуры, возникла потребность вируализировать все что можно.
Так как сервисы, которые реально часто используются, это:
- Почта
- Plex
- Радио
- Бложек
Их виртуализация оказалась необходимой задачей. После перевода бложека на Ubuntu, следующей логичной жертвой оказался Plex. Почему он? Да все просто – с ним было все не так очевидно, как, допустим, со связкой Icecast+Liquidsoap, кои будут следующим этапом.
Ожидаемые сложности – проблемы с монтированием дисков к Ubuntu, настройка сетевого окружения для этого. В реальности все оказалось по-другому
Первое, с чем столкнулся, так это с тем, что новый Plex не хочет работать через Apache proxypass. Это оказалось довольно интересной проблемой, так как аутентификация, как выяснилось, происходит через внешний сервер plex.tv, который героически не пускает вас снаружи до тех пор, пока вы не создадите PlexPass. Так как изначальная концепция не предусматривала создание подобного аккунта, ввиду параноидальности автора, от слова “совсем”, пришлось начать изучать траффик.
Самое вменяемое, что пришло в голову, так это только подмена DNS записей, чтобы приложение ломилось к моему управляемому серверу. Пробовать так и не захотелось, хотя надо бы. Пришлось искать старую версию Plex, ибо все что было до релиза, адекватно работало в моем окружении, и не требовало внешней аутентификации. Reddit настойчиво предлагал купить аккаунт, но технический гений просил хардкора, и, после длительных мук, была найдена старая версия для Linux.
Задача подключения сетевых дисков по cifs вообще никак не затруднила, ибо решилась где-то следующими строчками:
sudo vi /etc/fstab
В файл добавляем
//ip.server.disk.source/share /media/movie cifs username=USER,password=PASSWORD,domain=DOMAIN,iocharset=utf8,sec=ntlm 0 0
Монтируем шару
sudo mount -a
А вот установка потребовала покраснения глаз. Последовательность действий оказалась где-то такой:
Wget https://web.archive.org/web/20130910125628/http://downloads.plexapp.com/plex-media-server/0.9.8.6.175-88ffbb2/plexmediaserver_0.9.8.6.175-88ffbb2_amd64.deb sudo apt-get update sudo dpkg -i plexmediaserver*.deb
Потом, оно, скорее всего не запустится и делаем следующее:
Создаем
sudo nano /etc/systemd/system/plexmediaserver.service
Вносим туда такие строчки:
[Unit] Description=Plex Media Server for Linux After=network.target [Service] Environment="PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/var/lib/plexmediaserver/Library/Application Support" Environment=PLEX_MEDIA_SERVER_HOME=/usr/lib/plexmediaserver Environment=PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6 Environment=PLEX_MEDIA_SERVER_TMPDIR=/tmp Environment=LD_LIBRARY_PATH=/usr/lib/plexmediaserver Environment=LC_ALL=en_US.UTF-8 Environment=LANG=en_US.UTF-8 ExecStartPre=/bin/sh -c '/usr/bin/test -d "${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}" || /bin/mkdir -p "${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}"' ExecStart=/bin/sh -c '/usr/lib/plexmediaserver/Plex\ Media\ Server' Type=simple User=plex Group=plex Restart=on-failure RestartSec=5 StartLimitInterval=60s StartLimitBurst=3 [Install] WantedBy=multi-user.target
И даем права
sudo chmod 0755 -R /var/lib/plexmediaserver
sudo chown plex:plex -R /var/lib/plexmediaserver
sudo service plexmediaserver restart
Ну и в конечном итоге запускаем как демона:
sudo systemctl enable plexmediaserver.service
sudo systemctl start plexmediaserver.service
Что точно можно сказать. Задача, откровенно, дурацкая. Особенной трагедией для меня было то, что новый встал вообще без проблем, а вот старый – какие-то пляски с бубном. В целом, функционал есть, и он работает. Киношечки на улицу публикуются без проблем, да и проблем с аутентификацией тоже не возникло.