Домашний сервер на базе мини-ПК: от идеи до апгрейда
Долгое время создание домашнего сервера казалось мне уделом энтузиастов: шумные корпуса, высокое энергопотребление и сложность настройки отпугивали. Всё изменилось, когда я наткнулся на мини-ПК на одном из зарубежных маркетплейсов. Компактность и доступная цена убедили меня, что это решение идеально подойдёт для моих задач.
Железо и сборка
В мае 2024 года я заказал мини-ПК за 9 900 рублей со следующими характеристиками:
* Процессор: Intel Core i3-5005U.
* Оперативная память: 8 ГБ DDR3 (максимально возможный объём для этой платы).
* Накопитель: 128 ГБ SSD.
* Сеть: Гигабитный Ethernet и встроенный модуль Wi-Fi.
Сразу после покупки я расширил систему:
1. Установил внутренний SATA SSD на 512 ГБ для хранения данных виртуальных машин.
2. Подключил два внешних HDD по 500 ГБ через USB 3.0, объединив их в RAID1 (зеркало) для надёжного хранения критичной информации.
Важный нюанс: в этом мини-ПК только один слот под оперативную память, и 8 ГБ — это предел. Этот момент я не учёл при покупке.
Программная инфраструктура и задачи
В качестве платформы для виртуализации был выбран Proxmox VE, установленный на родной SSD. Внешний SSD я использовал как хранилище дисков виртуальных машин, а RAID1-массив из HDD — для резервного копирования.
На сервере были развёрнуты три основные виртуальные машины:
1. NextCloud — личное облачное хранилище. В условиях блокировок зарубежных сервисов это оказалось крайне удобно: я синхронизирую телефонную книгу, фотографии и рабочие файлы.
2. Home Assistant — система для локального управления умным домом, что позволило отказаться от сторонних облаков.
3. Windows VM с удалённым рабочим столом (RDP) — для работы из любой точки мира. Доступ к этой машине возможен только через VPN.
Сеть и безопасность
Сетевым шлюзом служит Mikrotik RB751g-2hnd (Wi-Fi 2,4 ГГц). Для доступа к сервисам извне я приобрёл внешний IP, зарегистрировал домен в зоне .su и настроил проброс портов. На Mikrotik включена защита от сканирования, а в DNS внесены записи для локального разрешения имён.
В процессе эксплуатации выявились две основные проблемы:
* Нехватка ОЗУ: 8 ГБ недостаточно для трёх VM.
* Перегрев: пассивное охлаждение не справилось с нагрузкой, пришлось установить дополнительный вентилятор 5,25".
Несмотря на это, опыт оказался полезным. Я получил независимость от внешних сервисов и полный контроль над данными.
Поняв, что ресурсов существующего мини-ПК не хватает, я решил произвести апгрейд. О новом, более мощном решении я расскажу в следующей статье.
Часть 2. Unraid. Собираем свой сервис аудиокниг вместо Литреса, Яндекс Книг и Строк
В этой части мы установим и настроим докер-контейнер с Audiobookshelf для потокового воспроизведения аудиокниг практически на любых устройствах (iOS вроде пока в бете).
В проводнике Windows, на смонтированном ранее сетевом диске, создаем папку "audiobooks".
В папку закидываем наши аудиокниги.
Важно!
Чтобы потом было меньше мороки, сразу делаем правильную структуру папок.
Audiobookshelf автоматически распознаёт порядок томов, если в начале папки стоит числовой префикс.
Рекомендованный формат:
01. Название книги
02. Название книги
03. Название книги
То есть важно:
две цифры (01, 02, 03…) — чтобы порядок был стабильным до 99 книг.


Структура папок (только картинкой, потому как текстом - ломает структуру :(
Как правило, обложки уже находятся внутри папки с книгами и Audiobookshelf сам их подтянет при добавлении.
Эти простые правила, по итогу, сэкономят вам кучу времени, когда будете собирать библиотеку.
Установка и настройка контейнера
Ничего сложного в этом процессе нет.
Заходим в админку Unraid и открываем вкладку Apps.
В поиске вводим audiobookshelf и нажимаем Install.
В настройках контейнера указываем путь к папке с вашими аудиокнигами, например:
/mnt/user/nas/audiobooks/Сохраняем и запускаем контейнер.
На этом базовая установка завершена.



Установка и настройка контейнера
Первичный доступ и настройка Audiobookshelf
Теперь в админке Unraid открываем вкладку Docker — там будет отображаться наш новоиспечённый контейнер audiobookshelf.
Чтобы попасть в веб-интерфейс приложения, нажимаем левой кнопкой мыши по контейнеру и выбираем WebUI. Откроется новая вкладка с панелью управления Audiobookshelf.
Первый запуск
При первом входе система предложит задать пароль для пользователя root — создаём новый пароль и попадаем в админку.
Настройка интерфейса
Первым делом открываем Настройки — нажимаем на иконку шестерёнки в правом верхнем углу.
В настройках выбираем русский язык и активируем нужные галочки (как на скриншоте).


Создание пользователей
Теперь переходим во вкладку Пользователи и создаём отдельные аккаунты для себя и родных.
Да, можно пользоваться учёткой root, но это не сильно правильно и не очень безопасно.
Каждый пользователь, по итогу, получает:
свой логин и пароль,
свою историю прослушивания,
собственный прогресс по каждой книге.
Audiobookshelf будет запоминать, где конкретный пользователь остановился, даже если слушает на разных устройствах.
Не забываем заглянуть в настройки автоматического создания бэкапов и выставить параметры в соответствии со своими предпочтениями.




Создание библиотеки
Настало время создать нашу первую библиотеку.
В данном примере я создам её в единственном варианте — по пути, который мы заранее подготовили на NAS, в папке audiobooks.
На моём основном Unraid у меня внутри audiobooks лежит несколько подпапок: detective, fantasy, romance и т.д. Для каждой из них создана своя отдельная библиотека по жанрам. Это удобно, если сервисом пользуются не только вы, но и семья/друзья — у всех свои литературные предпочтения, да и мешанины из разных жанров будет куда как меньше.
Вкладка Подробности
Указываем название библиотеки и путь к папке с аудиокнигами.Вкладка Настройки
Выставляем галочки так, как на скриншоте.Вкладка Сканер
Настраиваем параметры сканирования — тоже по образцу на скрине.
От корректных настроек сканера зависит правильный парсинг ваших книг.
Высочайший приоритет отдаём варианту “Folder structure”.Планировщик
Этот раздел не трогаем.
Ура! Библиотека создана
Жмём кнопку Сканировать и ждём окончания процесса.







Создание библиотеки
Готово — библиотекой уже можно пользоваться.
Но… скорее всего, не для всех книг автоматически подтянулось описание (метаданные). Исправим это.
Правка метаданных
Наводим курсор на книгу без описания и нажимаем иконку редактирования в правом верхнем углу.
Откроется меню настроек конкретной книги.
Вкладка Match
Начнём отсюда — здесь находится "волшебная" кнопка поиска метаданных.
Выбираем источник метаданных. Для русскоязычных книг вариантов обычно два: Google Books или FantLab.
Правильно указываем название книги и автора.
Жмакаем Поиск.
Если для книги есть описание, оно появится в результатах: обложка, аннотация, автор, жанр и многое другое.
Выбираем подходящий вариант — все данные подтянутся автоматически.
Если у вас уже была собственная обложка и она нравится больше, чем предложенные, просто снимите галочку с замены — тогда сохранится ваша.
Вкладка Cover
Если описание есть, а обложки нет — переходим во вкладку Cover.
Здесь можно выполнить поиск по названию и автору или загрузить свою картинку вручную.
Вкладка Details
Переходим во вкладку Details и любуемся результатом — появилось описание, обложка и корректные метаданные.
Жмём Сохранить, и книга готова!




Пройдёмся по меню Audiobookshelf
Слева находится основная навигация по разделам:
Домой — Стартовая страница: краткое меню, последние добавления, "продолжить прослушивание" и т.п.
Библиотека — Все ваши книги в одном списке.
Серии — Книги, сгруппированные по сериям. Очень удобно, если у вас много циклов.
Коллекции — Здесь вы можете создавать собственные коллекции. Они общедоступны внутри вашей библиотеки — все пользователи, имеющие доступ, смогут их просматривать.
Авторы — Каталог авторов. Если вы заполните метаданные, здесь появятся фото, биографические данные и прочая полезная информация.
Чтецы — Поиск и сортировка по чтецам (озвучкам). Особенно удобно, если вы предпочитаете конкретных дикторов.
Статистика — В этом разделе можно посмотреть общую статистику библиотеки, а также свой личный прогресс прослушивания за последний год.




Меню Audiobookshelf
Как этим пользоваться?
С этим разобрались, теперь посмотрим, как пользоваться Audiobookshelf.
Сервис доступен практически откуда угодно:
с любого устройства через браузер,
через мобильные приложения.
iOS
Точной информации нет — я сам не пользуюсь, но официальное приложение находится в стадии разработки и вроде как уже доступно в бете.
Android
Открываем Google Play.
Ищем приложение Audiobookshelf.
Устанавливаем и запускаем.
После первого запуска делаем несколько простых шагов.
Подключение к вашему серверу
Указываем адрес сервера:
http://tower.local:13378
(Если у вас другой адрес или порт — вводим свой).Далее вводим логин и пароль пользователя, которого вы создали ранее.
После этого вы попадаете на свой собственный сервер потокового воспроизведения аудиокниг.




Подключение к вашему серверу
Рекомендация: офлайн-прослушивание
Если вы открыли книгу, которую хотите слушать, нажмите кнопку скачивания (стрелочка вниз).
Файл загрузится на устройство — и вы сможете слушать книгу вне локальной сети, даже без интернета.
Это также работает при удалённом доступе к серверу, если вы его настроите.
Но имейте в виду: для внешнего доступа нужен белый (выделенный) IP-адрес, проброс порта на роутере или настройка через Nginx Proxy Manager.
Эти вещи уже выходят за рамки данного поста.
Захомячил NAS не привлекая внимания санитаров
Поставил перед собой задачу: сделать по-настоящему быстрое файлохранилище для временных файлов при обучении нейросетей: как сами модели (промежуточные чек-поинты), так и данные для обучения. При этом мне нужны как NFS (для пингвинов с видеокартами), так и SMB (закидывать данные для обучения с основного компа и смотреть как там идут дела - подгружать промежуточные чек-поинты и смотреть, что обучение движется в нужном направлении).
Построение быстрой сети - это отдельная тема. Кстати, не так дорого: на буржуйских маркетплейсах есть куча предложений по адекватной (~$150) цене с Mellanox CX414, 416 и иже с ними (40Гбит карты), которые простой перепрошивкой можно убедить в том, что на самом деле они 100Гбит/с.
Некоторое время я с вожделением смотрел на QNAP TBS-h574TX. Но во-первых дороговато, а во-вторых традиционная сеть у него 10Гбит, при том, что для поставленной задачи имеющиеся там два Thunderbolt порта совсем не нужны. Ну и вообще мне не понятно: у этой модели сетевые способности явно сильно хуже, чем то, что способны выдать поставленные в нее накопители.
Пришлось идти своим путем. Была взята плата MSI Pro B860M-A: у нее при mATX форм-факторе есть 3 слота под M2 SSD и 4 PCI-E слота: один х16 под видео, два х1 и один х4. В качестве процессора я поставил Core Ultra 235.
Совсем как Эллочка-Людоедочка конкурировала с миллионершей, я заселил плату пятью SSD Kingston 4TB NV3. Три штуки зашли в предусмотренные производителем разъемы, еще два я поставил в имеющиеся PCI-E x1 слоты через китайский переходник. Теперь по объему я совсем-совсем способен конкурировать с QNAP h574!
Вместо видео в слоте х16 поселилась сетевая карта, перепрошитая на 100Гбит/с.
А оставшийся слот х4 и место в корпусе под CD-ROM заняло бодрое комбо от китайских товарищей: оказывается, китайская промышленность производит "заглушку" в отсек 5.25" с шестью местами под SATA SSD 2.5"! На случай если мне понадобится побольше места, слот PCI-E x4 занял SATA адаптер на 6 портов подключенный к панели на 6 SSD.
В результате система выглядит так:




Для загрузки этой радости я подключил SATA SSD на 250Гб к порту на самой плате. И радостно установил TrueNAS.
Пять дисков объединены в RAIDZ1. Из них трое получают полные PCIE x4 и способны выдать свои примерно 4ГБ/сек (вроде Kingston NV3 способен примерно на это), а два диска ограничены пропускной способностью шины и упираются в лимит 2ГБ/сек. Тем не менее, тесты производительности радуют: 6.7ГБ/сек на запись и 9.3ГБ/сек на чтение:
Сеть тоже работает как задумано. Сервер подключен к 100Гбит порту на Mikrotik CRS510, клиент был подключен к тому же свичу через Breakout Cable: 100Гбит делятся на два "хвоста" по 50Гбит, каждый для отдельного компа.
Ответ на пост «Домашнее медиа-облако»1
озадачился этим некоторое время назад, как переехали, до это пользовал HMS(home media server) но не устраивало, что надо системник держать всегда врубленным, сейчас же когда контент таскают 4 телевизора , ноут , моноблок и стационарный ПК, давно стало не вариантом. еще по "православным" ценам был приобретен Asustor 5304T куда встали 2 WD red nas edition под фото в первом рейде, и 2 toshiba MG08 по 16 tb, за год это все забилось, докупилась полка расширения AS6004U , внутри 4 штуки Seagate SkyHawk AI по 16tb место еще есть зато прекрасно себя там ощущает Plex, в гардеробе на антресоли в коридоре прекрасно себя ощущают не греются и за закрытой дверью очень тихо
Домашнее медиа-облако1
Хорошее сообщество, вступаю!
Решил завести свой домашний сервачок: на ноутах и компе накопилось много файлов/фоток, старые харды начали сбоить, возник риск потери семейного архива.
Нашёл на авито сб/у серверный корпус тауэр, и б/у серверную мат.плату с двумя Ксеонами 2420v2 и 96ГБ оперативки, всë в сумме вышло на 12 тыр. В ДНС купил SSD на один ТБ, и два харда WD Red на 8 ТБ для рейда - всё новое, иначе старьё опять начнёт сыпаться.
Накатил Proxmox, объединил харды в рейд 1 (зеркало), для надёжности. К сожалению, не смог настроить аппаратный рейд через LSI MegaRAID, ОС не запускалась, сделал программный через LVM.
Внутри Proxmox создал виртуалку с FreeNAS, пробросил в неё виртуальный накопитель и настроил отдельные шары по SMB, для фильмов, фото и прочих данных.
Хотел развернуть Plex Media Server в LXC-контейнере, но шара не пробрасывалась. Забил и поднял Plex в отдельной виртуалке поверх дебиана.
Загрузил на шару обучающие видео со своих разных семинаров - крутота! Работает :) теперь с телевизора можно смотреть свои видосы и фильмы.
Пока на этом остановился, поскольку внезапно обнаружил, что старый хард с семейным фотоархивом на компе застучал... Не успел... Попробую восстановить данные и перекинуть их на файлообменник.
В дальнейших планах: установить Immich, попробовать Jellyfin (говорят, удобнее, чем Plex), привязать домен и настроить реверс-прокси. А также попробовать HomeAssistant, и, может, с self-hosted нейросетями поиграть.
Могу расписать подробнее, что и как настроил. Позже распишу, что успел настроить ещё.
UPD:
Получилось восстановить данные и перекинуть всю инфу. Следующее на очереди - организация удаленного доступа к серверу.
Создание домашнего сервера дендрофекальным методом от абсолютного нуля
Рассказ о том, как 26 летнему юниту надоело играть на компьютере и захотелось играться с компьютерами. Наверное с год назад я начал активно интересоваться сборкой компьютеров, собирал ради интереса себе, родтвенникам и тд., пробовал даже на продажу но дело это оказалось гиблым ибо Авито это свой отдельный мир и рынок уже полон.
Так проходит этот год, я ковыряюсь в компах, изучаю альтернативы Винде, начинаю скупать древние ноуты и ковыряться в них, приводя их в чувство и пуская в работу. И тут стреляет объявление на Авито, комп за 1000 наших народных, ни разу не думаю и бегу лутать приличный комплект на 1155 сокете. В итоге нам представлен вот такой сетап:
Крайне пыльный но от этого не менее прикольный, кисточка и воздуходувка в помощь!
Корпус в виду своего ужасного внешнего вида уехал на лом:
И вот сижу думаю, продать то его точно не выйдет, на онлайн барахолке такого добра навалом, и было принято решение заняться саморазвитием и сделать домашний сервер!
Далее думаем(нет)какую операционку тавить, выбор падает на убунту сервер, ибо бесплатно и вроде просто. Качаем с официального сайта образ, с помощью Rufus делаем установочную флешку и погнали!
Види много страшных картинок, ну, мне нулю страшно было, прожженым программистам понятное дело раз плюнуть.
В целом процесс установки выглядит достаточно слегко, сначала выбираем язык и раскладку, потом размечаем диски(куда пойдет убунта а куда все остальное). На рисунке как раз она, диски можно объединить в RAID, я выбрал RAID0, когда из дисков делается одна большая папка, да не безопасно, если один диск крякнет то всё, покеда, но мы тут надеемся на лучшее, а для домашней файлопомойки наверное норм.
Едем дольше, главное не забываем что это всё хозяйство должно быть подключено к сети. После установки мы получаем IP нашего сервера и далее настраиваем доступ к нему.
Для начала на самом "сервере" мы настраивам протокол взаимодействия (поправьте если не так сказал) SSH, вбиваем сначала sudo apt install -y openssh-server
Также можно самим задать статичный ip командой sudo nano /etc/netplan/00-installer-config.yaml
Далее подключаемся с главного компа в доме, я использовал для этого MobaXterm.
Далее устанавливаем то, что нам поможет взаимодействовать с другими компами в сети Samba
sudo apt install samba -y
настраивам доступ
sudo nano /etc/samba/smb.conf
Откроется файл настройки, назовем его так, оттуда можно всё поудалять и оставлять что-то такое:
[share]
path = /home/username/share
browseable = yes
read only = no
guest ok = no
create mask = 0777
Это настройка доступа.
Вообще кроме контента на видеохостингах мне ещё очень помогла Deepseek, инструкция была более менее.
Далее следовали танцы с бубном и поиск информации что и как настроить нормально и в итоге мы получаем домашнюю файлопомойку.
Извиняюсь за не самые подробные инструкции. Цель не писать гайды а делиться впечатлениями от нового. Далее есть мысли сделать уже сервер к которому можно будет подключаться извне домашней сети, пойду лутать железки, всем спасибо!
Как настроить truenas scale и qbitorrent? Прошу помощи
Установил truenas scale последней версии,создал пулы, создал djail , создал пользователя, запустил smb, все папки расширены и из под винды виды. Установил qbitorrent, он у меня устанавливается на отдельный пул для установок программ, если при установке qbitorenta пути к папкам не меняю, то закачка идёт по умолчанию в пул в котором установлен qbitorrent, но мне так не нужно. Меняю пути к папкам при установке на заранее созданные в другом пуле, закачек торрентов не происходит. Извините за может не правильные термины. Очень нужна помощь в том как правильно, и где указать пути, и может быть какие то разрешения для того чтобы в загрузки qbitorent ставить нужную папку в нужном пуле. Заранее благодарен
















