Домашній 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
- відкрийте WEB браузер у Windows
- введіть адресу https://<IP-адреса-вашого-armbian>:9090 (наприклад, https://192.168.1.10:9090)
- використовуйте свої логін і пароль користувача ArmBian (наприклад, root)
Надалі можна зробити наступне і ще багато чого цікавого:
- налаштувати Samba для доступу до файлів із Windows і Android.
- встановити AdGuard Home для фільтрації реклами на всіх пристроях у домі.
- підключити RTL-SDR свисток і розгорнути OpenWebRX для прослуховування ефіру.
- написати на Pascal сервіс для роботи з Meshtastic-модулем: прийом пакетів із радіомережі, запис у SQLite і видача даних через вбудований HTTP-сервер.
- налаштувати APRS iGate для трансляції пакетів із УКХ-ефіру в мережу APRS-IS.
Немає коментарів:
Дописати коментар