четвер, 23 квітня 2026 р.

Домашній Linux-сервер із ТВ-приставки: від ідеї до працюючої системи



 Привіт усім! Давно хотів зробити домашній сервер, який би працював цілодобово, не шумів і не «з'їдав» багато електроенергії. Розкажу, як що цікаво, що з цього вийшло. Може й ви поекспериментуєте у цьому напрямку.  Перебравши варіанти, зупинився на двох кандидатах: старий роутер і ТВ-приставка.

Частина 1. Роутер чи ТВ-бокс?

Першим ділом порівняв можливості обох пристроїв.

Роутер — варіант простий, але обмежений. Якщо в ньому є USB-порт, можна підключити зовнішній диск і в результаті отримати: мережеве сховище (NAS), медіасервер (DLNA), автономний торрент-завантажувач, VPN-сервер. На просунутих прошивках (OpenWRT, DD-WRT) можна запустити рекламний фільтр (Pi-hole, AdGuard Home) або навіть спрощений Home Assistant. Але є серйозні обмеження:

  • слабкий процесор — не потягне транскодування відео або кілька сервісів одночасно,
  • швидкість запису на диск через USB нижча, ніж у повноцінного NAS,
  • ризик «перетворити на цеглу» пристрій при невдалій прошивці.

ТВ-бокс виглядає набагато цікавіше. Навіть бюджетні моделі оснащені 4-ядерними процесорами та 2–4 ГБ ОЗП. На приставках із чипами Amlogic можна встановити Armbian або Debian і отримати повноцінний Linux-сервер із підтримкою Docker, баз даних і веб-серверів. При цьому споживання — лише 5–10 Вт, що ідеально для режиму 24/7.

Слабкі сторони у ТВ-бокса теж є: зазвичай лише один LAN-порт, ризик перегріву при постійному навантаженні та нестабільність USB на дешевих моделях при підключенні потужних дисків без зовнішнього живлення.

Висновок: для простого сховища документів вистачить роутера. Для Home Assistant, торрент-сервера або медіасервера Jellyfin/Plex — ТВ-бокс із Linux буде значно ефективнішим.

Частина 2. Вибір ТВ-боксу

Тому як в мене вже був Tanix TX9s, то питання з вибору не стояло. Головна цінність цього пристрою — процесор Amlogic S912 з 8 ядрами та відмінною підтримкою спільноти розробників.

Чому TX9s підходить для сервера: 

  • 8 ядер S912 чудово справляються з багатозадачністю (торрент-завантажувач + Home Assistant одночасно), 
  • гігабітний LAN — швидкість передачі даних по мережі до 100–110 МБ/с, 
  • для цієї моделі добре адаптовані збірки Armbian і LibreELEC/CoreELEC, 
  • систему можна запускати прямо з SD-карти, не затираючи рідний Android.

При цьому на TX9s можна запустити: Docker-контейнери (Pi-hole, Zigbee2MQTT, Node-RED), медіасервер Jellyfin або Plex, файлове сховище (Samba/NFS), Home Assistant Supervised.

Ідеальна конфігурація збірки: 

  • система: Armbian на microSD карті не нижче 10-го класу,
  • сховище: зовнішній HDD із зовнішнім живленням, відформатований у ext4,
  • базовий софт: Samba (доступ до файлів) + Transmission-daemon (торренти).

Частина 3. Що ще можна зробити з ТВ-бокса?

Окрім класичного сервера, TX9s відкриває кілька цікавих сценаріїв перетворення його у:

  • Медіацентр (CoreELEC) — «чистий» плеєр на базі Kodi, який працює безпосередньо із залізом. Відтворює важкі фільми (60–80 ГБ) без ривків, підтримує автоматичне підлаштування частоти розгортки та якісний багатоканальний звук (DTS, Dolby Digital).
  • Станцію розумного будинку (Home Assistant) — замість дорогого хаба від Xiaomi або Aqara. Підключаєте USB-свисток Zigbee, об'єднуєте пристрої різних брендів в одну мережу і створюєте будь-які сценарії автоматизації. Працює без інтернету і хмар.
  • Автономну станцію завантажень (Seedbox + DLNA) — бокс качає торренти 24/7 на зовнішній диск, а Jellyfin автоматично завантажує обкладинки і роздає контент на всі пристрої в домі. Ваш особистий «домашній Netflix» без підписок.
  • Мережевий рекламний фільтр (Pi-hole / AdGuard Home) — весь інтернет-трафік у домі проходить через фільтр. Реклама зникає навіть у мобільних застосунках і на Smart TV, де не можна встановити звичайний блокувальник.
  • Станцію відеоспостереження (NVR) — за допомогою Shinobi або ZoneMinder бокс збирає відеопотоки з IP-камер, записує на диск і може надсилати сповіщення в Telegram при виявленні руху. 
  • Віддалений робочий стіл — з підключеними мишею, клавіатурою і монітором отримуєте безшумний міні-комп'ютер для браузера та офісних завдань. Можна використовувати як «проміжний сервер» для безпечного доступу до домашньої мережі з будь-якої точки світу.

Частина 4. Для радіоаматорів

TX9s із його 8 ядрами та гігабітним портом може стати відмінною базою для радіоаматорських рішень. Можна реалізувати:

  • Віддалений SDR-приймач (OpenWebRX) — підключаєте RTL-SDR свисток до USB-порту, встановлюєте OpenWebRX, і приставка перетворюється на сервер. Слухати ефір можна через браузер із будь-якого пристрою з будь-якої точки світу.
  • Вузол цифрових видів зв'язку (FT8 / APRS iGate) — бокс працює як цілодобовий пост для моніторингу цифрового ефіру. Можна налаштувати автоматичний прийом спотів FT8 і трансляцію в PSK Reporter, або зробити шлюз APRS, який приймає пакети з ефіру і транслює їх в інтернет (APRS-IS).
  • Приймач ADS-B (трекер літаків) — RTL-SDR + антена-«коліанерка» + програма dump1090. Бачите всі літаки в радіусі до 300–400 км у реальному часі. Можна віддавати дані на FlightRadar24 і отримати безкоштовний Business-акаунт.
  • Приймач AIS (трекер суден) — якщо живете недалеко від судноплавних річок або моря, на частотах 161–162 МГц приймаєте сигнали з кораблів: назви, курси, вантажі. Дані можна транслювати на MarineTraffic.
  • Метеостанція з прийомом зондів (Radiosonde) — програма radiosonde_auto_rx автоматично сканує ефір (400–406 МГц), «чіпляє» метеозонди і декодує їх телеметрію. Трек польоту зонда малюється на карті в реальному часі.
  • Вузол мережі Meshtastic — з USB-модулем LoRa (433 МГц) бокс стає стаціонарною базою незалежної від стільникових мереж текстової мережі зв'язку. Зберігає історію переговорів у базі даних, візуалізує сітку Mesh-вузлів на карті і пересилає повідомлення в інтернет через MQTT-брокер.
  • Віддалене керування трансивером (Hamlib) — якщо у вас трансивер із CAT-інтерфейсом, бокс стає «прошарком» між радіо і мережею. Через rigctld можна керувати частотою, модою і фільтрами віддалено.

Частина 5. Встановлення Armbian

Для перетворення TX9s на сервер потрібна операційна система. Вважаючи на те, що в ТВ-боксі встановлено ARM процесор, то вибір припав на Armbian — дистрибутив Linux, оптимізований для ARM-пристроїв. Що знадобиться:

  • microSD карта від 16 ГБ (клас 10 або вище, краще A1),
  • програма для запису образу: Rufus або BalenaEtcher,
  • USB-клавіатура для початкового налаштування,
  • монітор або телевізор із HDMI.

Крок 1. Пошук образу

Для процесора Amlogic S912 підходять образи від спільноти Armbian. Шукайте файл із позначками "s912" і "bookworm" (Debian 12) або "bullseye" (Debian 11) у назві. Образ без слова "desktop" у назві - це серверна версія без графічного інтерфейсу, вона працює швидше і стабільніше. А також не займає й так вже обмежений ресурс пам'яті.

Приклад назви файлу: "Armbian_24.x.x_Amlogic_s912_bookworm_current_6.x.x.img.xz"

Мною був використаний цей образ - https://androidfilehost.com/?fid=7161016148664852487

Крок 2. Запис образу

Запустіть Rufus або BalenaEtcher, виберіть завантажений файл і вашу microSD карту, натисніть «Старт». Після запису Windows може запропонувати «Відформатувати диск» — завжди натискайте «Скасувати».

Крок 3. Налаштування дерева пристроїв (DTB)критично важливий крок

Після запису образу, Windows побачить на microSD карті один невеликий розділ  BOOT, приблизно 100–500 МБ. Решта, приблизно 31 ГБ — це розділ ext4, який Windows не розуміє, але Linux побачить і розширить автоматично при першому запуску.

Відкрийте розділ BOOT у провіднику. Знайдіть файл "extlinux/extlinux.conf" і відкрийте його блокнотом. Файл містить закоментовані блоки для різних процесорів. Потрібно:

1. Закоментувати активні рядки `FDT` і `APPEND` у блоці `# rk-3399` (додати `#` на початку).

2. Розкоментувати рядки в блоці "# aml s9xxx" (прибрати #):

FDT /dtb/amlogic/meson-gxm-q200.dtb

та

APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

Для Tanix TX9s найкраще підходить "meson-gxm-q200.dtb" — він сконфігурований під гігабітний Ethernet. Якщо не запрацює, спробуйте "meson-gxm-q201.dtb".

Решта рядків у файлі extlinux.conf повинна бути закоментована.

Крок 4. Завантажувач u-boot

У корені microSD карти знайдіть файл "u-boot-s905x-s912". Скопіюйте його і перейменуйте копію в "u-boot.ext". Без цього файлу бокс не зрозуміє, як передати керування ядру Linux, і продовжить завантажувати Android.

Крок 5. Перший запуск («метод зубочистки»)

Повністю вимкніть ТВ-бокс (треба повністю знеструмити). Вставте microSD карту. Підключіть клавіатуру і монітор. Візьміть зубочистку і вставте її в невеличкий отвір біля роз'єму живлення на задній панелі - там всередині знаходиться кнопка скидання (Reset). 


Натисніть кнопку і, не відпускаючи, підключіть живлення. Тримайте 10–15 секунд. Якщо на екрані з'явився логотип Armbian або побігли рядки тексту — кнопку можна відпускати.


Крок 6. Початкове налаштування

При першому завантаженні система попросить:

  • створити пароль root (символи при введенні не відображаються — це нормально для Linux),
  • створити звичайного користувача,
  • вибрати часовий пояс.

Після цього ви побачите командний рядок вигляду "root@armbian:~#" - система готова до роботи.

Частина 6. Перші кроки в системі

Підключення до мережі.

Якщо LAN-кабель підключений, то інтернет з'явиться автоматично. Для налаштування Wi-Fi введіть "nmtui" і виберіть «Activate a connection». Якщо Wi-Fi адаптер не визначився (що часто буває на ТВ-боксах), використовуйте кабель — для сервера це в будь-якому разі надійніше.

Статична IP-адреса.

Для стабільної роботи сервера важливо, щоб його адреса не змінювалася. Увійдіть у "nmtui" → «Edit a connection» → виберіть "eth0" → «Edit». У розділі "IPv4 CONFIGURATION" переключіть з "<Automatic>" на "<Manual>" і заповніть поля:

  • Address: наприклад, 192.168.1.200 - 192.168.1.224 (вибирайте адресу поза діапазоном DHCP роутера),
  • Gateway: адреса роутера (зазвичай 192.168.1.1),
  • DNS: 8.8.8.8

Оновіть систему вводом команди у терміналі:

apt update && apt upgrade -y

Для перевірки інтернету введіть команду: 

ping -c 3 google.com

Як що ви успішно подолали всі вищенаведені кроки, то приміть мої поздоровлення! У вас з'явився домашній автономний Linux сервер!

Частина 7. Подальш кроки

Сервер працює, базова інфраструктура налаштована. Для зручності, для роботи з сервером з під Windows на початкових етапах, рекомендую використовувати програму PuTTY а далі - встановити на сервер і використовувати програму Cockpit. Встановити Cockpit на Linux сервері дуже просто:

1. Оновлюєте систему і списки пакетів послідовним вводом команд у терміналі : 

sudo apt update

sudo apt upgrade -y

2. Встановлюєте Cockpit командою: sudo apt install cockpit -y

3. Після встановлення Cockpit, за звичай, запускається автоматично. Але можна перевірити командою: sudo systemctl status cockpit

Як що він не запущений, то увімкніть і запустіть його командою:
sudo systemctl enable --now cockpit.socket

4. Доступ до WEB інтервейсу:
  • відкрийте WEB браузер у Windows
  • введіть адресу https://<IP-адреса-вашого-armbian>:9090 (наприклад, https://192.168.1.10:9090) 
  • використовуйте свої логін і пароль користувача ArmBian (наприклад, root)


У подальшому можна PuTTY не вмикати, а використовувати термінал самої програми Cockpit.

Надалі можна зробити наступне і ще багато чого цікавого:

  • налаштувати Samba для доступу до файлів із Windows і Android.
  • встановити AdGuard Home для фільтрації реклами на всіх пристроях у домі.
  • підключити RTL-SDR свисток і розгорнути OpenWebRX для прослуховування ефіру.
  • написати на Pascal сервіс для роботи з Meshtastic-модулем: прийом пакетів із радіомережі, запис у SQLite і видача даних через вбудований HTTP-сервер.
  • налаштувати APRS iGate для трансляції пакетів із УКХ-ефіру в мережу APRS-IS.
Так виглядає WEB інтерфейс встановленої на сервері програми OpenWebRX з використанням RTL-SDR (доступ з Windows браузера за адресою на Linux сервері)


Успіхів і мирного неба над головою! 73! de Nick US8AR

Немає коментарів:

Дописати коментар

Домашній Linux-сервер із ТВ-приставки: від ідеї до працюючої системи  Привіт усім! Давно хотів зробити домашній сервер, який би працював ціл...

Popular Posts