Как я себе медиасервер сделал
Захотелось мне как-то кино смотреть на любом компе и со смартфона, да чтобы и ночами, и комп в комнате не шумел, как собой, так и жёстким диском. Решил сделать себе медиасервер, простенькое файловое хранилище и всё такое прочее.
Взял старый комп, установил на него Proxmox для удобства работы. На бпшник не обращайте внимания, это временный роутер сверху лежит без корпуса.
Как установить Proxmox есть в интернете, ничем неотличается от установки обычной ОС. После установки доступно по локальной сети. Из советов, не забудьте сменить репозиторий на бесплатный, а как, опять же подскажет гугл.
ДИСКЛЕЙМЕР: Всё можно сделать проще на одном ubuntu-server установленном прямо на комп, но мне лично нужны виртуалки и возможность работы через Shell вбраузере. Я не буду описывать стандартные действия.
После установки proxmox я смонтировал ZFS в режиме SingleDisk на 4ТБ жёсткий диск, купленный на авито за 3 тысячи рублей.
По SSH в proxmox смонтировал Samba папку public по этому гайду .Можно и просто примонтировать диск к виртуалке на которой медиасервер будет крутиться, но я хотел иметь файловую шару на самом проксмоксе. Может это не лучшее решение, но там ничего важного и мне так удобно. Может быть, уважаемые сисдаминопидоры подскажут лучшие решения в комментах.
Подключил шару в винде
Создал папку Кино и закинул туда фильмов
Скачал ubuntu-server и развернул виртуалку ubuntu-server, закинув ISO образ в proxmox. За подробностями опять же в гугл.
Подключился по SSH, установил поддержку cifs.
sudo apt install cifs-utils
Добавил папку куда будет монтироваться сетевой диск
mkdir Media
Подключил сетевой диск в /etc/fstab
sudo mount-a
Далее он будет монтироваться при запуске системы
Установил docker и docker compose
Создал docker-compose.yml файл
nano docker-compose.yml
В volumes указал папку Media, куда смонтирован сетевой диск
version: "3.7"
services:
jellyfin:
container_name: jellyfin
image: cr.hotio.dev/hotio/jellyfin
ports:
- "8096:8096"
environment:
- PUID=1000
- PGID=1000
- UMASK=002
- TZ=Europe/Moscow
restart: always
volumes:
- /home/ubuntu/jellyfin/config:/config
- /home/ubuntu/Media:/media
Ctrl+S сохранить
Ctrl+X выйти
Ctrl+X выйти
sudo docker compose up -d для запуска
Jellyfin уже доступен в локальной сети
Ip address чтобы узнать какой ip адресв локальной сети
В браузере вводим локальный ip из предыдущегошага и порт
У меня 192.168.0.26:8096
Там вас ждёт довольно простая настройка Jellyfin
После этого внутри локальной сети уже можно пользоваться,вводя в браузере адрес сервера. Можно поменять в docker-compose.yml порт с 8096:8096на 80:8096, чтобы заходить по айпи без порта и добавить себе в hosts файл(окей гугл hosts файл windows)запись типа:
192.168.0.26 jellyfin.local иликакой вам хочется адрес
Тогда с вашей windows он будет доступен по этому адресу
Также, если ваш роутер поддерживает ARP, можно будет зайти по имени компьютера,которое было задано при установке.
Я купил себе белый IP и домен и, так как я ещё не прошарилсякак делать роутинг по поддоменам, сделал редирект через Nginx на proxmox, могу рассказать, если будетзапрос.
Делаем ещё интереснее, подключаем торрент
Я развернул его прямо на proxmox, мне так было удобнее, так как там имеется прямой доступк ZFSдиску
Подключился по SSH к proxmox
Установил docker и docker-compose
Создал docker-compose.yml файл
В volumes указал папку с zfs public
version: "2.1"
services:
deluge:
image: lscr.io/linuxserver/deluge:latest
container_name: deluge
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- DELUGE_LOGLEVEL=error #optional
volumes:
- /root/deluge:/config
- /zfs1/public:/downloads
ports:
- 8112:8112
- 6881:6881
- 6881:6881/udp
restart: always
Ctrl+S сохранить
Ctrl+X выйти
Ctrl+X выйти
sudo docker compose up -d для запуска
По адресу 192.168.0.25:8112 захожу в deluge, пароль deluge подефолту
В настройках указал куда загружать
Добавил модуль autoadd
Теперь из шары в папке torrents автоматически подтягиваются торрент-файлы,которые я туда закинул
Так же рекомендую поставить плагин Execute исделать такую настройку
chmod -R 777 downloads/Кино
Это нужно для того, чтобы права на работу с папками были у всех приложений и пользователей
На этом всё. Был бы рад, если бы кто-то пояснил по-русски как сделать роутинг на основе something.mysite.ru в pfsense.
Про домен буду рад почитать. У себя сделал локальную рабочую группу и прописал на днс сервере её, в принципе все работает и даже для подключенных по впн пользователей тоже все по доменным именам доступно, но чужой опыт лишним не будет.