Проблема
Вечерами мы с женой (иногда и с детьми) смотрим сериалы и фильмы. Контент я в основном скачиваю из открытых источников (торренты) и есть несколько неудобств:
несколько ноутбуков, которые не всегда заряжены
необходимость подключать один из них к телевизору (иногда нужен переходник, + на телевизоре нет AirPlay).
на рабочем ноуте не хочется качать торренты
поставишь фильм на закачку - а кто-то возьмёт и закроет ноут
Как хочется
Включил телек -> выбрал фильм -> смотришь
Решение
После статьи на Хабре про «домашний NAS своими руками» захотелось сделать что-то подобное, но увидев цены на готовые серьёзные решения (да и даже на комплектуем, диски, корпуса и т.д.) - передумал.
Вспомнил, что недавно мой старый OnePlus 5T (2017 года. Боже, как он был хорош. Да я и сейчас бы мог его использовать) перешёл обратно ко мне от ребёнка (“третья жизнь смартфона”). И решил попробовать использовать его как «ультра-мини‑нано-NAS». А если быть точным - медиа‑сервер. Встроенной памяти маловато (всего 64 Гб) но при должной “гигиене” (“посмотрел фильм - удалил”) - должно хватить.
Аппарат кстати по‑прежнему быстрый и приятный в использовании, но уже не получает обновлений.
Чтобы не превращать телефон в «монолитную» Linux‑систему (рассматривал postmarketOS), я выбрал более щадящий путь: установить Termux и запустить в нём Linux‑подобную среду через PRoot. Благодаря этому смартфон остаётся полноценным устройством с двумя SIM‑картами, и при этом можно без риска для Android подъёмать сервисы для раздачи медиаконтента.
Выбор программ
Alpine Linuxsshddms(https://github.com/anacrolix/dms) — лёгкий и простой в настройке (3 параметра при запуске демона) DLNA сервер.transmission‑daemon- для торрентов. Имеет встроенную веб-адимнку -> можно стартануть загрузку с любого устройства в сети
Смотрел альтернативы
Jellyfin. Нужен .NET и тяжеловат для телефона
Gerbera. Показался сложным в конфигурации
minidlna. Не завёлся сразу - разбираться не стал
Пошаговая инструкция
На телефон устанавливаем Termux (из F‑Droid).
В Termux ставим proot‑distro и обновляем пакеты:
pkg update && pkg upgrade pkg install proot-distroУстанавливаем Alpine и заходим в него:
proot-distro install alpine proot-distro login alpineВнутри контейнера устанавливаем необходимые пакеты: SSH, transmission‑daemon и dms. Пример команд для Alpine:
apk update apk add openssh transmission-daemon ca-certificates curl curl # DMS - качал с GitHub бинарник
Хитрости и мелкие настройки
SSH: использую порт 2222 для SSH, так как стандартный порт 22 может быть заблокирован или недоступен.
На Android можно повысить лимит фоновых процессов, чтобы Termux и контейнер не убивались системой:
adb shell device_config put activity_manager max_phantom_processes 2147483647В настройках Android для приложения Termux отключите энергосбережение и оптимизацию, разрешите ему работать в фоне
После перезагрузки телефона нужно снова запускать контейнер и сервисы. Чтобы облегчить этот процесс, можно добавить стартовый скрипт в
~/.ashrcвнутри Alpine, который будет проверять и запускать необходимые демоны:# --- Server Startup Script --- # 1. Start SSH Daemon (if not running) if ! pidof "sshd" > /dev/null; thenc /usr/sbin/sshd echo "🚀 SSH Server started on port 2222" fi # 2. Start Transmission Daemon (if not running) if ! pidof "transmission-daemon" > /dev/null; then transmission-daemon -g ~/.config/transmission-daemon echo "📥 Transmission Daemon started" fi # 3. Start DMS Media Server (background) if ! pidof "dms" > /dev/null; then /root/dms -path /sdcard/Download -ifname wlan0 -http :8200 -friendlyName "5T-Cinema" > /dev/null 2>&1 & echo "📺 DMS Media Server started in background" fi echo "--- All services are active ---"
Итог
Решение простое и дешёвое: старый смартфон превращается в компактный DLNA‑сервер, доступный для телевизора в локальной сети.
Termux и PRoot даёт гибкость без полной замены Android
Лёгкие компоненты Alpine, dms и transmission‑daemon укладываются в ресурсы старого устройства.

