Pull to refresh

Comments 124

Для домашнего windows сервера (веб сайты и терминальный сервер) какое бесплатное (и не шибко прожорливое) ПО для защиты посоветуете?

Ох. Внезапный вопрос. У меня очень давно не было windows сервера, да и десктопы последние лет 10 тоже на линуксе. Так что надежда на других читателей.

Можно было бы сказать про всякий WAF, но кажется они в последнее время умерли.

От себя могу только порекомендовать разве что выставлять только контейнеризированный софт, и строго нужные порты.

  1. не светить в интернет сам сервер. Он за роутером на котором nas и мсэ. Например, микротик

  2. rdp защищать подключением доступным только через vpn, в иделе ещё и с белыми списками по ip. причем белый список на том же микротике можно расширять, например, через посылку запросов в определенной последовательности на порты. Ну а vpn клиент умеет уже давно даже смартфон на андройде

  3. С веб сервом-там много работы. Поэтому обходное решение предложу- hiper-v или виртуалбокс. И включен снепшот. Поменяли, что то сильно- слили с основным фалом и снепшот новый сделали. + такого варианта, что даже если поломают- откатите быстро. Для энтерпрайз неприменимо из за падение производительности. Для домашнего сервера- почему бы и нет.

Ну или защита через ssh, у меня как раз одна из машин на windows server, подключаюсь через роутер на базе openwrt. Но для защиты локалки использую ngfw.

На сетевом уровне - MikroTik (физический или CHR) и чёрные списки, наполняемые через PSD и обнаружение DoS и брутфорса

RDP и ряд других сервисов можно защитить через аналог Fail2Ban, но с распределённой базой сообщества

Закину "на посмотреть" свою хабрастатью Ирина — опенсорс русский голосовой помощник. Offline-ready

Имхо может быть достойной альтернативой Яндекс.Станции - ставится и работает локально, при необходимости. Интеграция с Home Assistant есть. Плагинами дописывается нужное.

Проект живой, несмотря на двухлетнюю давность - я даже планирую написать статью на Хабр про последние изменения.

Класс, спасибо! Мне задача качественного голосового помощника кажется довольно нетривиальной - хочется и распознавания голоса хорошего, и понимания смысла команд. И ещё и железка должна быть не очень простая. Поэтому взял станцию. Здорово, если у вас получилось собрать работающее оффлайн решение! Забавно, что основные юз кейсы у нас похожие - таймер, музыка, дети.

написать статью на Хабр про последние изменения.

Было бы интересно, неохота с яндексами/амазонами связываться.

С Jellyfin у меня как-то не оч.хорошо получается сделать домашний кинотеатр.
Директории DVD с файлами нормально не показываются. Раньше не приложение не видело файлы, теперь видит, но не воспроизводит. А DVD-привода у меня в телевизоре нет.

Некоторые перекодированные фильмы закодированы кодеками, которые jellyfin не может воспроизводить. Ругается на DRM или кодеки.
Правда у меня для транскодирования используется nvidia quadro T600, возможно это накладывает свои коррективы.

Короче, скачиваешь фильм, а посмотреть на телевизоре jellyfin не всегда его можешь посмотреть.

Пока с таким не сталкивался, но верю. Пробовали VLC+samba share? У меня такое на первых порах было, вполне пристойно, хотя о какой-то вменяемой организации коллекций приходится забыть. Ну и можно рядом несколько плееров поднять под эксперименты.

Телек на WebOS, под него вроде нет VLC. А подключать комп к телеку и запускать видео на компе не хочется.

Раз у вас WebOS, то вам надо попробовать родной клиент Jellyfin для WebOS.
И, да простит меня создатель этой статьи, сразу забыть про контейнеризацию Jellyfin, если хотите транскодирование под свой телевизор. Т.к. Jellyfin должен работать напрямую с вашим железом.
Месяц назад проходил этот долгий квест на NUC. Proxmox позволил пробросить встроенное видео от Intel напрямую в VM. И теперь Jellyfin транскодирует даже 4К фильмы с минимальной нагрузкой на железо. Опытным путем нужно будет подобрать "Качество видео"-"Качество домашней сети" на клиенте, при котором он будет согласен проигрывать видео с сервера Jellyfin. Начинайте подбирать с минимальных значений "720p".
Если захотите идти по пути контейнеризации Jellyfin, до готовьтесь собирать и поддерживать свой контейнер вручную из исходников Jellyfin, ffmpeg и драйверов VAAPI/NVENC.

Не сталкивался с Proxmox, но вроде это именно виртуализация, и она конечно может сожрать лишних ресурсов. С докер контейнером навскидку такого происходить не должно. Если у тебя нет ВМ - тебе не нужно пробрасывать железо :)
Глянул - прямо на страничке jellyfin про harware acceleration написано, что она в докере поддерживается.
Ну и у меня отлично работает перекодирование под телевизор.
История про пересборку тоже вряд ли актуальна - за иключением случая, если у вас какое-то экзотическое железо, про которое штатная инсталляция в образе не знает.

Proxmox это часть исключительно моего self hosted. Т.к. нужны для тестов и Windows VM, и доступ к функциям железа.
jellyfin поддерживает hardware acceleration в контейнере для некоторых случаев.
Ну и если считать Intel NUC и Intel QuickSync технологию - "экзотическим железом" для домашнего использования, то тогда вы правы. (Шутка).
В контейнере сам jellyfin, его обвязка (ffmpeg) и поддержка VAAI/QuickSync - сильно отличаются от доступных из репозиториев.

Возможно для NVIDIA все будет проще и уже есть в контейнере.

jellyfin поддерживает hardware acceleration в контейнере для некоторых случаев.

Ну вот на страничке про harware acceleration, которую я упомянул выше, одинаковые галки стоят что для Linux что для Linux Docker. И VA-API есть и там и там.

В контейнере сам jellyfin, его обвязка (ffmpeg) и поддержка VAAI/QuickSync - сильно отличаются от доступных из репозиториев.

Ну так в контейнере как раз должна быть именно правильная и рекомендуемая версия ffmpeg. Они специально пишут не ставить его из стандартных репозиториев. А драйвера вообще ставятся на хост машину.

Навскидку кажется, что максимум того, что требуется - это прокинуть какую-то инструкцию или девайс в docker-compose. Но спорить я не готов :)

Как я помню, проблема в отсутствии поддержки правильного драйвера VA для Intel в контейнере. У меня не хватило духу его прикрутить в штатный стабильный контейнер, т.к. засыпался в зависимостях. И смысл такой ручной сборки уже терялся.
Но вы правы, возможно с NVIDIA такой проблемы не будет.

Никогда не понимал этого прикола - качать видео 4К, потом его конвертить налету под свой 1080p телек. Может как-то проще сразу качать в своем разрешении..? Ситуация, когда в доме прямо зоопарк дисплеев и каждый смотрет эти фильмы, согласитесь, мягко говоря, редкая ситуация.

А можно и два формата сразу качнуть, без конвертаций - ещё и другим "помочь" с раздачей в этот момент...

Иначе вы не узнаете о том, что домашний сервер упал...

сервис типа uptimerobot настройте, заодно узнаете много нового о качестве услуг своего провайдера

Спасибо за статью!

я во многом прошел уже этот путь, но почерпнуть есть что много и интересно

awesome-selfhosted на гитхабе это конечно кладезь инфы! я листал его, даже не зная что такие сервисы существуют, и восклицая - о, а давай попробую

Из того что мне очень зашло (и уже реализовано):

  • Lychee - менеджер фотографий, я, как фотограф любитель очень оценил. закинул туда весь свой архив, даю доступ членам семьи и друзьям на отдельные папки, сам пользуюсь из любой точки мира с любого устройства

  • Obsidian - я пока не пользуюсь видимо всей мощью, но клиент стоит абсолютно на всех устройствах (телефон, планшет, ноут) и компах и на "рабочем", все синхронизируется с сервером дома (например некоторые ссылки ваши решил изучить позже и сидя на работе закинул ссылку на эту статью в obsidian, продолжу изучать на чем угодно)

  • как менеджер паролей я правда поставил self-hosted bitwarden, тоже наслаждаюсь :-)

В моем наборе для картинок выбрал Immich и Outline для заметок (оно как вики +-). Обсидиан какой-то монструозный, ИМХО. Из минусов - Outline требует Minio и KeyCloak, но заодно разобрался как эти штуки работают.

Прочитав ваш комментарий пошел попробовать Lychee. У меня есть коллекция фото разложенная по папкам "Год -> Мероприятие". Судя по описанию, Lychee не умеет использовать произвольную структуру папок и надо все фотографии импортировать в базу Lychee. Оно там создает какую-то свою структуру папок не понятную. А что делать, если вдруг надо будет от Lychee отказаться? Ну там другой менеджер фото, или просто дать доступ к фото с телевизора или еще что угодно. Я не представляю, как потом из каши папок с непонятными именами вытаскивать и рассортировывать фото.

Поскольку вы фотограф (я вообще нет), возможно вы как-то решали эту проблему? Красивая и удобная вебморда к архиву фоток это здорово. Но хотелось бы их при этом в понятной структуре хранить.

я фотограф-любитель :-) но не важно
у меня есть архив фотографий (PhotoAlbum) и негативов (PhotoNegatives)
внутри структура одинаковая года 2003... 2024 и отдельно "части" моей жизни :-) Айкидо и т.п.
внутри года папки называются месяц_событие_на_английском_без_пробелов

месяц с лидирующим 0 если меньше 10 (удобно при сортировке, просмотре)

я просто скопировал весь PhotoAlbum на сервер linux с Lychee. В самом начале я что то напортачил и не мог добавлять файлы через веб интерфейс, а тем более надо было добавить архив за 20 лет, я написал bash script

cat /usr/local/bin/addptoalbum.sh
#!/bin/sh
php /var/www/html/Lychee/artisan lychee:sync $1 --album_id=$2 --import_via_symlink --skip_duplicates

в web интерфейсе жмешь "n" например называешь альбом 2020, создается пустой альбов и в него проваливаюсь. В адресной строке адрес заканчивается чем то типа
/gallery#hf0OsOVDKBs3ycRJnrQ_sjTO

все что после # копирую, иду в консоль сервера и запускаю:

addptoalbum.sh /big/PhotoAlbum/2020/  hf0OsOVDKBs3ycRJnrQ_sjTO

ВСЕ. --import_via_symlink добавляет не сами файлы, а ссылки. внутренние подкаталоги создаются отдельными альбомами внутри альбома 2020

мало того, я понял, что можно скачать фотографии в разных размерах!

и так как PhotoAlbum у меня хранился с 2048 по длинной стороне (для посмотреть достаточно, на печать я себе из RAW файлов выведу, я сейчас стал потихоньку старые фото выводить в Fullsize и сохранять на сревер где Lychee, а на компе и архивном диске так и храню в 2048

А можете подробнее раскрыть, что именно установлено для Obsidian ? Простой поиск по странице не находит "obsidian". Как раз на днях задумался о синхронизации заметок с мобильными устройствами, желательно через домашний сервер. То, что Вы озвучили, подозрительно похоже на то, что я ищу)))

я в гугле нашел вот эту страницу: https://jegtnes.com/blog/self-hosting-obsidian-sync-for-ios-android-mac-and-windows-with-couchdb/
и начал читать.
все почерпнул там.
устанавливается couch-db и Self-hosted LiveSync is a community-implemented synchronization plugin, available on every obsidian-compatible platform and using CouchDB or Object Storage (e.g., MinIO, S3, R2, etc.) as the server.
https://github.com/vrtmrz/obsidian-livesync/blob/main/README.md

У меня:

Железка:
Gigabyte Barebone BMCE-5105 Intel® Celeron® N5105

Софт:
- immich - замена Google Photo. Очень рекомендую. Умеет в распознавание лиц, группировку и пр. В контейнере только он;
- transmission - качалка контента;
- miniDLNA - раздает видео на телики и другие девайсы;
- smb share - для доступа к контенту с компов.

На рутере настроен ddns от no-ip, поэтому доступ к фоткам и transmission -- отовсюду.

Подружить все это между собой без особых знаний ubuntu -- заняло 2 вечера с помощью ChatGPT и гугла.

Достаточная производительность у N5105?

Более чем. И энергопотребление минимально.

Спасибо за обстоятельный отчет. Притарил статью в карман.

А всё программное хозяйство в одну машину запихано или на разных хостах? Как собственно интеграция и начальная конфигурация непосредственно железа происходит? Хост-система настроена вручную штатными средствами или какие Ansible, Chef, Puppet?

Я вот смотрю в сторону построения своей home lab, но приправленной распределенной структурой - 4 ноутбука разной степени паршивости хочу объединить в кластер, с автоматическим развертыванием базового образа OS, поверх него уже накатывать k8s и прочие контейнеры.

Требование - взял любой ноут, ребутнул его в пользовательскую систему - у тебя мобильная станция, попользовался, ребутнул назад в PXE - нода вернулась в кластер, k8s смасштабировался.

Теоретическая подготовка пока привела к Warewulf, DRBL, oneSIS и похожим системам построения вычислительных кластеров. Cockpit и CosyStack в очереди на оценку пригодности.

  1. Запихано в одну машину. Слабенького CPU и 8 GB RAM хватает с заметным запасом.

  2. Хост система - дефолтная убунта плюс докер. В случае чего я просто беру и разворачиваю те же docker compose на другой тачке. А, ещё nginx стоит вне контейнеров.

  3. Да, я думал про кластер, но я разработчик, а не девопс, так что решил не упарываться настолько сильно. Всё же мне не нужно ни масштабирование ни отказоустойчивость. Хотя может каким-нибудь тоскливым осенним вечером я таки соберу k8s. Но пока есть много более интересных игрушек.

Если делаете большой сервер на много приложений - лучше всего брать серверные процы, память и матери. Только не хуанан, а б\у леново, супермикро, ... - они почти вечные. Будет намного меньше хардварных глюков, ибо десктопные процы не расчитаны на 24/7 работу.

У меня именно такой сервер, правда, после всяческих геморов купил нормальный одноюнитовый сервак по цене лома, набил до топчика и поставил в колокейшн. Ценник в месяц получается тот же, что дома он нажирает по электричеству, но за 2 года был всего один сбой, который решился перезагрузкой. Дома сбои регулярны, особенно зимой - статика, и увлажнитель не всегда помогает.

По софту:

  • ZoneMinder - отдельная виртуалка, ибо эта срань любит внезапно сожрать всю память и повиснуть. Что его таращит, так и не нашел, но прозреваю, что такое происходит, когда подвисает одна из камер. Без интернета.

  • rTorrent + ruTorrent. Тоже отдельная виртуалка, поскольку обрезаны ресурсы - если много разом качать, кушает слишком много. Плюс изоляция на случай взлома - его UDP-порты таки торчат наружу.

  • Жаббер, для уведомлений. Отдельная виртуалка, ибо это приличный пакет сервисов, а не одно приложение. Без интернета.

  • Почта. Отдельная виртуалка, ибо некоторые порты торчат наружу, плюс большой пакет сервисов.

  • Гитлаб. Отдельная виртуалка, ибо довольно жруч и ресурсы для него надо жестко ограничивать. Без интернета.

  • IPSEC - все сервисы сидят внутри, наружу высовывается только почта, и порты торрента.

  • С полсотни контейнеров с разработческими и бытовыми приложениями, перечислять всё долго.

  • Гитлаб-раннеры для быстрого развертывания всего.

  • Бекап-система с обратным коннектом.

  • Свой DNS c фильтрацией, адблоком и внутренним доменом типа .lan

  • Несколько десктопных виртуалок для тестирования приложений

Кит на хуанане с али работал гипервизором 2 года 24х7 практически, только с выключением на переезды, перестановки, добавление дисков, протирание пыли и т.п. Сейчас ради лулзов заказал с али же rx580, и сейчас эту каличную али-сборку юзаю как основной комп, в т.ч для игор (не для последних ААА тайтлов, конечно, но они мне и неитересны). Пока все супер.

Китайцы имеют плохую совместимость с процами. Например, я пробовал несколько atermiter со 135W-процами - почти все не стартуют, либо работают нестабильно. Ставил L-процы - нет одного канала памяти из четырех. На некоторых слетали настройки PCI-E, если вырубить питание... Короче, если хочется с возней подбирать комплектуху - велкам, либо брать сеты, уже подобранные китайцами - такие работают в общем случае хорошо. Ах, да. На всех китайцах обязательно ставить кулер на чипсет - он на китайцах б\у перекатаный, чем паяли - хз, чипсет же раскаляется будь здоров - лучше не рисковать и сколхозить кулер побольше.

Серьёзный подход! Колокейшн - хороший вариант, но если это всё на умный дом не завязано. Иначе без сети он в тыкву превращается...
У меня тоже стоит ограничение для каждого контейнера, "сожрать всю память" - знакомая история.
А пробовали Frigate? Мне казалось, ZoneMinder это что-то уже давно умершее.

Исторически так сложилось. Плюс Frigate сильно завязан на наличие видяхи либо TPU, а ZoneMinder нет.

Для умного дома MQTT-сервер и ZigbeeMQTT стоят на роутере, сделаном из терминального клиента HP - холодный, крохотный, при этом довольно мощный для запуска контейнеров. Openhab стоит на стороне сервера, да, но уже подумываю делать клауд на 2 инстанса из него, один дома, один на сервере.

У меня всего одна камера, но Frigate вполне себе распознаёт во мне человека с использованием нерекомендованного CPU режима.

Попробуйте shinobi

У меня он до фригейта стоял. На первый взгляд симпатичнее и куча фич, но все в каком-то полусыром состоянии, и ресурсы жрёт дико. Но это было года три назад, может что поменялось. Тогда они кажется в паблик только старые исходники отдавали, а сейчас я вижу что вроде актуальные на гитлабе.

Не сходится. Хуан глючный, а у супермикро ругулярные сбои. У меня core i3 на материнке гигабайт работает спокойно по полгода, пока я unraid не решу обновить.

Synology поставил себе. Деньги выкинутые на ветер. За такую цену 24т можно было купить nettop в 3 раза мощнее. Всю стоимость съедает лицензия на их софт 90% из которого вы вряд ли будете пользоваться.

Теперь буду собирать из mini-itx отдельно, так как этот не справляется с самыми банальными задачами.

Вообще тема очень интересная. Я бы собирал такие железки под ключ и ПО тоже могу доработать для этого.

Synology

Дрянь редкостная, если говорить про бюджетные модели. Повелся на днищевую цену на авито, купил, поставил диски. Интерфейс люто тормозит, если что-то добавляешь из софта, все вообще еле шевелится, фризы на доступе к данным... Продал обратно, еще и с наваром - на них спрос хороший :)

Модели же покруче стоят как крыло самолета. Плюс это пропиетарная шняга, которая в любой момент может сказать "ой, всё, поддержка закончена".

DS224+, стоит на Озон 35тр - все летает, есть докер и виртуалка. Модели 10-летней давности - да, физически устарели.

По привычке проверил - меньше 45 тыр не вижу. У вас какой регион в Озоен указан, не московский, видимо?

Synology вы используете именно ради их софта? А память увеличивали больше официально поддерживаемой? (виртуалки гонять на 6GB max не очень)

АЛьтернативно приглядываюсь к https://aliexpress.ru/item/1005006838685142.html. 18 тыр No Storage, No RAM; 24 тыр 16GB RAM 512GB SSD. Место для двух HDD. Dual LAN 2.5G.

Якобы можно загрузиться с SD карточки, т.е. SSD (M.2 NVMe) отдать под кеш - отлично для TrueNAS, который сейчас просто на старом ноуте гоняю...

Брал пол года назад, до возврата пошлин, вместе с памятью вышло до 40тр. Не Москва, но не слышал про разницу в цене. После этого цены падали ещё ниже на лот.

По ОС у них просто Айфон в мире NAS, все очень просто, справка встроенная исчерпывающая. Зачем годами настаивать как-то колхоз в коробке из под ботинок, есть ли готовое стоит 500 баксов...

+1. Я люблю многое делать своими руками, но во-первых, с годами становлюсь ленивей; во-вторых, есть множество других вещей, на которые можно потратить своё время. В итоге в конце 2023 на мегамаркете был взят DS923 с кэшбэком почти 50%, нафарширован под завязку: 32гб RAM, 4хHDD в raid5, M.2 SSD, который парой команд сделан обычным томом. Ну и всё, есть платформа со своим отличным софтом и широкими возможностями виртуализации. Прелесть в том, что базовый набор сервисов прекрасно работает из коробки.

Так за 35 можно собрать суперплатформу, особенно если купить для нее на том же авито какой-нибудь хайтауер двадцатилетней давности.

Беда всех этих насов - плотная компоновка. Если у вас есть в доме помещение где он будет стоять при +18 на постоянно молотящем кондее - пойдет. Но если помещение не охлаждается, то при +30 в нём на хардах может и +50-70 образоваться. И это как-то уже не очень.... У меня прям четко, +10 градусов к стоящим в нормальном корпусе hdd.

Ну и софт. Может быть разным. Мне пришлось всё равно из консоли доруливать, правда не синолоджи, но тоже довольно брендовый нас. А если доруливать из консоли, то нафига он вообще нужен ?

Причем доруливать пришлось грабли в неожиданных местах. Просто плохо было сделано "из коробки'.

Если нужен сервер под сервисы - берем NAS (Synology) и ставим один SSD и все. Не гудит, не греется, работает годами (свой опыт).

Если у вас файлопомойка, то диски в любом случае будут греть, хоть вы там железо CERNа поставьте с Авито.

Вы это такой вредный совет даете ?

О какой вообще надежности можно говорить с одним ssd ? То, что черный лебедь к вам пока не приплыл - просто везение и оно рано или поздно закончится.

Я не вижу никаких плюсов у вашего решения, кроме одного "подходит для тех, кто не хочет вникать ни во что".

Потому как синолоджи - это уже потенциальная точка отказа сама по себе, что у них там наверчено и не окирпичится ли оно из-за желания компании выслужиться перед "кем надо" никто не знает.

С экономической точки зрения это все точно "не лучший вариант". В те же деньги кабы не кластер из трех машин собрать можно...

С точки зрения ремонтопригодности тоже. Совершенно непонятно что там внутри и как его обслуживать. Электроника нечасто выходит из строя, но выходит.

Общая надежность околонулевая, "или выйдет из строя единственный накопитель, или нет".

В чем преимущества то ?

Я не спорю, что если у человека есть сотни свободных часов жизни, он может настроить так, что его домашний сервер переживет прямое попадание метеорита в город. Это же вопрос выбора, деньги или время. Я готов заплатить несколько сотен баксов и выкроить себе немножко свободного времени на этом свете.

По поводу надёжности, у меня отработал DS114 на одном серверном SSD без UPS почти 10 лет вообще без малейших проблем. Ну ок, можно воткнуть 2 SSD, не сильно горячее. Это мой опыт, а Вы рассуждаете о ненадежности готовых NAS, судя по всему, чисто гипотетически, на пустом месте.

Откуда вдруг взялись сотни часов ? Почему не миллионы ?

Я рассуждаю о ненадежности по общепризнанным метрикам, а не в результате наблюдения за одним устройством.

Вы можете как-то опровергнуть тезисы из моего предыдущего сообщения ?

Пока все что вы предложили - это бороться с перегревом (возникающим из-за плохого дизайна самих насов) рейд массива из множества hdd поменяв его на один ssd. Мне это решение не нравится совершенно. На два уже лучше, но мне совершенно не нравится экономический аспект сего действа, да и другие проблемы это не снимает.

Synology поставил себе. Деньги выкинутые на ветер. За такую цену 24т можно было купить nettop в 3 раза мощнее. Всю стоимость съедает лицензия на их софт 90% из которого вы вряд ли будете пользоваться.

Теперь буду собирать из mini-itx отдельно, так как этот не справляется с самыми банальными задачами.

Вообще тема очень интересная. Я бы собирал такие железки под ключ и ПО тоже могу доработать для этого.

За 24 там вроде совсем слабенькие модели. Вкусные штуки начинаются примерно от 50 сейчас. Но да, согласен - очень дорого, именно это в статье как минус и описал.

корпоративные "Тайни" хорошо подходят для серверов, только с хардами нужно будет что-то придумывать. У меня пара Lenovo M73 Tiny уже больше года висят на стенке, один как фаервол с доп сетевухой, второй с Proxmox для нескольких виртуалок. из плюсов - минимальный размер, сменные проц, память и ссд, потребление около 30вт. из минусов - всего один сата и мобильный PCI.

Мой домашний self hosted:
proxmox на мини-пк от gygabyte (celeron n3350, 8гиг озу, 2ТБ SSD)
- виртуалка с home assistant OS
- LXC контейнер с adguard dns
- LXC контейнер с umbrell, в нем:
- браузерный проводник
- IMMICH
- MeTube для скачки с ютубчика
- plex чтобы смотреть скачанное с ютубчика
- SimpleTorrent. По итогу не пользуюсь.
- Syncthing
- Uptime Kuma
- Jellyfin добавлен после прочтения этой статьи на попробовать

Чего не хватает? Self hosted RSS agregator. Сейчас пользуюсь feedly, но хочется свое. К сожалению ничего с приятным мне интерфейсом и красивым мобильным приложением не нашел.

FreshRSS рекомендую. Правда, у них нет своего приложения. Через мобильный браузер интерфейс очень нравится.

Я тоже использовал Plex, но после того, как попробовал Jellyfin, перешел на него. Единственное, что в Jellyfin с поиском метаинфы похуже, чем в Plex.

Докину своего опыта.
Сервер - самосбор. Раньше был просто ПК на Intel Core i3 каком-то старом. Потом сервер переехал в гараж и обзавёлся комплектом из 2xIntel Xeon на китайской плате от SZMZ. Вопреки опасениям, работает без глюков уже 3 года как.

Из софта могу порекомендовать OpenHab (почти как HomeAssistant, но не он).

И ещё для заметок - Joplin. Подкупает наличием клиента для Android и iOS и возможностью синхронизироваться через WebDAV (соответственно базу заметок имеем одну и ту же на компе и телефоне).

WebDAV же можно организовать при помощи Seafile, который также работает self-hosted гуглодрайвом.

Плюс Gitea в качестве собственного гитлаба.

Отлично. У самого уже давно свой сервак.

Из того что у меня стоит советую gitea, code-server (IDE), sopds (книжки), nextcloud (облако), axigen (почта). Умный дом у меня на esphome,msqt.

Хотя можно бы поставить OwnCloud - кажется, он неплох. То ли Nextcloud. Если честно, не помню, кто чей форк.

NextCloud - форк OwnCloud, но OwnCloud недавно переписали с нуля на Go (под названием OwnCloud Infinit Scale) и теперь он мне нравится гораздо больше остальных

Хостить можно и прямо на своем компьютере. Линукс сервер в виртуальной машине, с автозапуском без видимого окна. Работать будет только пока комп включен(то есть днем) но это может оказаться вполне достаточно.

Ну, я рассматривал только базовые варианты. Так-то можно и себе на телефон сервер поставить. И даже работать это будет весь день. Более-менее :)

владельцы серверов на телефоне существуют похоже только в статьях про серверы на телефоне :)

для доступа к Transmission есть клиенты под windows (не очень но работает), linux, android.

Много лет назад поставил себе hardkernel Odroid HC2.

Очень маленькая железка с большим радиатором для большого диска.

Обошлась мне когда-то дешевле сотки у.е. с доставкой и корпусом, точно и не помню.

При установке засунул туда древний 3-терабайтник, который не жалко.

Он и сейчас там стоит и работает и бэдблоков нету - хотя ему 15 лет минимум.

Переезжая в другую страну, я засунул этот маленький (но 8-ядерный!) ARM-девайс в чемодан, а в новом доме поставил раньше, чем рабочий комп.

Из софта - mosquitto, Influxdb+telegraf, grafana, поверх всего openvediavault на Armbian. OMV не скажу что сильно полезен, NFS/Samba можно и без него раздавать, transmission или rtorrent тоже можно самому поднять, но уже стоит - так не сносить же.

Ну и тонна разных самописных скриптов/велосипедов, про которые я уже сам и не помню что к чему. Плюс для экспериментов разных использую, в общем кодопомойка, файлопомойка, и просто помойка. Флибусту зеркало держу, музон там же. Гит свой поднимал, потом убрал - один хрен код шарить надо на том, на чем шарят все и это точно не селф-хостед. MySQL стоит вроде, но заброшен за ненужностью.

Свои видеозаписи на нем не размещаю - для этого Nvidia Jetson тоже древний есть, еще за 120 баксов купленный (кто в курсе их политики ценоообразования - поймет). Он и разметить видео может, мощи хватает и на нем уже SSD висит.

А вот как домашний сервер с базой данных - самое то.

Докеры не использую - система обслуживает дом, пробросы наружу через оверлеи и защита уже на внешних серверах, так что и смысла особого не вижу.

А, еще это мелкая фигня у меня дома как-то кластер обслуживала с NBD загрузкой, но не долго, гигабитного эзернета все же маловато и диск ротационный - не то.

Если увижу за разумную цену SoC с 10Ge и SATA/NVMe - куплю сразу.

Компактные, удобные, и стоит несравнимо с интелем.

Готовых решений из коробки для таких SoC конечно меньше чем на интелях, мощи тоже такой не будет.

Но и электричества почти не жрет и просто прикольно мигает в углу. ))

Подскажите, есть примерно 20TB видео снятых с камер, храню по сентиментальным причинам, на некоторых видео мой покойный отец и вообще много чего. Но 90% видео это мусор и статичные пейзажи. Можно ли как-то автоматизировать отсортировку всех видео на которых есть люди?

Да, конечно, довольно тривиальная задача.

Не подскажу, какие есть готовые решения, но если делать самостоятельно - это брать фреймы видео и запихивать, например, в tensorflow - он расскажет, какие типы объектов там удалось найти.

Отлично, я как раз взял 4080S и воспользуюсь Cuda. Спасибо.

Расскажу про свой сетапчик. Арендую сервак на Hetzner — 128GB RAM, 2TB HDD, Xeon.

Поставил на железо Proxmox, чтобы нарезать отдельные VPS-ки. Сначала пытался приспособить Terraform для нарезки, но он нестабильно работает с Proxmox, поэтому использую Ansible для провизии виртуалок.

Что стоит на нарезанных виртуалках?

— Bitwarden
— gitea (но надо удалять, ибо в итоге чет удобнее пользоваться github, я там хранил репу с большими файлами — проект на Unreal Engine, а теперь просто делаю архив с последней версией и заливаю в облако)
— PostgreSQL
— harbor для докер образов
— Vault (токены, пароли от всевозможных сервисов), в основном всё же для опыта поставил, чтобы пощупать
— RabbitMQ
— GitHub Runner (чтобы иметь в github свой CI Runner)
— Games (игровой сервак Вальхейм)
— Kubernetes мастер (в основном для экспериментов)
— Kubernetes нода

Отдельная VPS для:
— Authelia (Single SignOn), OpenLDAP, OpenVPN (для доступа к внутренней сети, ибо почти всё закрыто для доступа из внешки), Grafana, Prometheus.

Огромный, конечно, оверкил, но для меня это видимо что-то вроде ковыряния в запорожце в гараже, просто интересно иногда поковыряться.

аренда такого сервака стоит дороже запорожца нверное

43 евро в месяц. Не думаю, что прямо супер-дорого. Это по сути, 1 ходка в бар в месяц.

У меня когда-то были сервера в хетзнере. Всё неплохо и недорого, но иногда падают вдребезги.

Отвечу по поводу выбора, для коллекции библиотек. Для себя выбрал Calibre, из коробки есть возможность развернуть opds каталог, выдать пользователям отдельные учетки, и вроде более-менее гибко настроить полки и категории. Единственный минус, так и не смог свой pocketbook подружить с opds, но с вебморды качает спокойно.

Это как-то не совсем self. Дата центр не ваш, посторонний без вашего ведома может физически зайти и выкачать данные.

Это вопрос терминологии. Для меня self hosted это про полный контроль программной инфраструктуры, возможность ставить что угодно и как угодно в рамках аппаратных возможностей, а не про безопасность доступов.

Ну, тут строгой терминологии нет, я в статье тоже говорил, что кусок инфраструктуры у меня на тачку в облаке вынесен. И там и там есть свои плюсы и минусы. Например, облако не вытащит тётенька-клинер из розетки, его кабель питания не сожрёт кролик, оно не сгорит в пожаре, и у него с заметно меньшей вероятностью откажут диски (если мы про облако, а не колокейшн, конечно же).

Не надо полноценные ВМ в вашем случае - пользуйте контейнеры lxc

Готовый брендовый NAS. Мне вот очень нравятся Synology. Они красивенькие, выглядят довольно долговечно

На деле долговечно. Почти 10 лет отработал Synology DS114 ни разу не было никаких проблем, включил и забыл. Можно было его не знаю, замуровать в бункер, до сих пор бы работал.

у меня уже лет 8 работает DS-916+. Пережил даже падение с полки (~2 метра). Диски правда не пережили, но резер был - реанимировался...

Надо было SSD ставить :)

база живёт в контейнере, и на каждое приложение есть по своему инстансу

А как решаете проблему с памятью? PostgreSQL ведь поедает её при старте, а гигабайты shared buffers будут слопаны в каждом контейнере.

А это хороший вопрос!
На текущем сетапе у меня выходит 1 инстанс Postgres на домашнем сервере (для Home Assistant) и три на облачном (vaultwarden+zabbix+authentik). Всего на домашнем сервере у меня запущено 20 контейнеров и занято порядка 4 GB памяти из 8, а на удалённом - 22 контейнера и занято порядка 2.5 из 4 GB. Понятно, что на значения из вывода top и glances полагаться нельзя, потому есть shared memory. С другой стороны, по идее есть дефолтный лимит на контейнеры в 64 MB shared memory, который я нигде не поднимал. Так что отвечу так - пока что я не упирался в лимит по памяти, чтобы всерьёз об этом задуматься. И скорее всего большинство владельцев self hosted в него тоже не упрутся. Если же когда-то у меня возникнет задача хостить с десяток разных баз, то тут я уже задумаюсь.

Но, судя по тому, что три инстанса Postgres работают на сервере с 19 другими контейнерами (в том числе некоторые из них явно прожорливы по памяти), и всем хватает с избытком - речь таки не идёт про гигабайты на инстанс.

Ну и да - в целом нет проблем раздать внутри одного контейнера права доступа к базам таким образом, чтобы изолировать друг от друга данные разных приложений. И не сложно настроить бэкап. Просто станет чуток менее прозрачной нагрузка - надо будет смотреть её непосредственно в базе, а не по самому контейнеру. Так что если у вас правда много баз - почему нет.

На современных ядрах Linux huge pages 1 ГБ, а значение shared_buffers рекомендуется кратным размеру huge pages. Можно, конечно, отказаться от huge pages, но это будет в ущерб производительности.

Понятно, что PostgreSQL допускает значение shared_buffers даже 128 КБ, а по умолчанию он 128 МБ, но деградация производительности при таких настройках получается существенная уже при БД размером свыше гигабайта. Столь малое значение shared_buffers оправдывается возможностью запуска где угодно. При этом явно рекомендуется отдавать shared buffers 25-40% всей оперативки. И как решать эту проблему при контейнеризации нескольких инстанцов, я не знаю.

деградация производительности при таких настройках получается существенная уже при БД размером свыше гигабайта.

Ну вот опять же вопрос, что там крутится, и какая производительность нужна. У меня все базы довольно мелкие (как раз до гигабайта), и мне не требуется оптимальная производительность ни в одной из них.

Так если бы подобное уточнение было в статье, я бы и не задавал этих вопросов. Спасибо, что разъяснили, что контейнеризацию инстанцов PostgreSQL Вы сами считаете допустимой только в частных случаях: для БД до гигабайта и когда производительность не особо важна.

Ну да, я старался делать ремарки, что это кажется оптимальным лично мне конкретно для моей конфигурации, но видимо надо чаще их ставить. Пойду добавлю про это в статью.

Партизанский маркетинг бекапов в яндекс-облако...

На случай, если вы не в курсе, маркетинг - это платная услуга от людей, работающих в рекламе. Я работаю в разработке, и ещё пишу учебные курсы. Не вижу оснований искажать или утаивать детали моего конкретного сетапа, ориентируясь на аллергию людей на какие-то компании. Был бы у меня какой-то софт и железо других компаний - упомянул бы их. Но не сложилось. Впрочем, есть люди, которые хотят везде грязь какую-то увидеть, печально это.

А можно чуть чуть подробнее про инфраструктуру?

Т.е. часть софта стоит на домашнем железе, а часть в vps.

Причём в vps стоят более критические штуки типа Authentik и vaultvarden.

А есть ли какая-то реплика этого vps?

Как-то очень не хотелось бы остаться без авторизации и менеджера паролей, если vps отвалится. Особенно, если в этот момент находиться в отпуске далеко от дома.

Реплики нет, но отвал vps кажется маловероятным, меня пока это облако не подводило. Кроме того, я периодически делаю слепки его дисков, и могу его переподнять удалённо примерно за полчаса. А вот с домашним сервером такое не прокатит.

Может не совсем по теме, а что посоветуете для фото, набралось много лет за 15, как приобрел первую псевдозеркалку, бывало за месяц около 1000 фото, средний вес был 5-8 мб, потом фото возрасли в размере, сейчас примерно занимают диски 1TB+2TB+3TB+ на флешках и внешних дисках (2 шт), там еще конечно всякий хлам. Так получилось, что когда апгрейдил комп, старый фотоархив оставался на старом диске, а я закачивал уже на новый, раньше не заморачивался, хранил все как архивы, в облаке не размещал. Теперь все надо перебросить на свой сервер. Плюс много мелких фото с ранних мобилок. Я так понимаю, что Целерона будет маловато для переваривания этого добра, ссд тоже под вопросом если будет постоянное обращение к базе.

  • По CPU. Ну смотря что вы с этим хотите делать. Если оно должно просто лежать, и иногда туда-сюда копироваться, то в целом пофиг, какой там CPU. Если же хочется медиа библиотеку и поиск лиц, то лучше пошустрее. Но в целом и хилый CPU переварит такие задачи - просто займёт это дольше. Если же хочется, чтобы помимо этого там ещё какие-то сервисы крутились - то да, точно нужно что-то помощнее :)

  • По облаку. С такими объёмами уже появляются вопросики по стоимости и актуальности облачного бекапа. Ну и опять же вопрос - насколько это ценно, и надо ли шарить другим людям. Хотя конечно можно и со своей инсталляции шарить.

  • По HDD/SSD. Сама OS и софт по хорошему должна конечны на SSD стоять. Насчёт баз - тут можно потюнить, чтобы они часто на диск не писали. Ну или просто вынести раздел базы с данными на HDD. Холодный запуск будет медленнее, ну и фиг бы с ним.

  • В целом выглядит что неплохо бы использовать RAID, но тут не подскажу, не разбираюсь, в силу того, что мне хватает облака.

  • Ну и в любом случае я бы отдельно опять же использовал холодное хранилище, на которое периодически закидывал всё важное.

На всякий случай уточню, что у меня другой use case, и это скорее общие соображения, в которых я могу ошибаться.

Приобретал и одно время использовал wd my cloud, но он конечно был тормознутый.

Да, у меня тоже такой был, и тоже очень медленный. Так и не разобрался, почему. То ли диски уже мёртвые, то ли какие-то софтовые проблемы... Вынуть что ли из шкафа посмотреть... Ну и конечно на него фиг что поставишь дополнительно.

есть которые прошиваются под openwrt

Потому, что в фоне индексирует все медиафайлы даже если везде все галки убрать. Вырезается через консоль.

Потому, что вентиляторы крутятся "в тихом режиме", тоже через консоль чинится

Ну и на борту там нечто уходящее в тротлинг "чуть что".

Вчера его нашёл в шкафу, думал оживить посмотреть. Но чёт не завёлся. Буду сегодня ночью смотреть, может диски умерли. Вроде как на одном ресурсе есть под него 12 дебиан. По идее, если поставить пустой - должно быть нормально...

Так, завёл его, проблема была в блоке питания.
Но беда, это старая моделька wdbvht0060jch - у неё 800Mhz, 512 RAM. И даже если поставить туда Debian 12/OpenWRT - скорость записи останется примерно 10 мбит, судя по всем отзывам в интернетах. А это даже для холодного хранилища слишком мало. Видимо, придётся утилизировать... Жалко.

Зачем вам вообще этот кусок говен ? Авито заполнен старыми системниками за копейки, в них кратно больше всего, и если подобрать с удачным корпусом еще и физического места. (это если свои не сохранились).

Наверное, можно найти и что-то, что будет жрать поменьше электричества, хотя это ей богу вторично. Не в электричестве боль. Ну т.е. на фоне дисков остальное в целом не такое прожорливое.

Нормальное ремонтопригодное шасси всегда лучше...

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

Такого путного кроме Odroid HC2 кажется больше и не выпустили. У меня есть нетттоп Asus VC40 - самое маленькое что нашел для HDD3.5, но у него температурный режим сомнителен, тем более для запихания в шкаф

В моём случае предполагается, что в шкафу лежит выключенным, так что температурного режима должна хватать :)
Но видимо надо не выпендриваться, а просто брать коробку с USB 3.0 и подключать её напрямую, когда вынимаешь из шкафа.

Это как-то слишком мало. Даже их прошлое (относительно вашего) поколение железяк MyBook World давало 10 мегабайт в секунду, а не 10 мегабит.

На роутере не меньше сотни, нормальный кабель, диски родные, но не должны так просаживаться, смарт проходят... Не знаю, на что грешить кроме CPU, а перепрошивать, с учетом аналогичных отзывов с уже прошитых моделей - лень. Может, каким-нибудь тоскливым осенним вечером дойду и до этого :)

Доброго дня!

У меня 7 лет уже работает самосборный NAS из старой комплектухи, только диски добавляю при необходимости.

Железо:

Материнка Foxconn 2ABF от ископаемого офисного системника HP - https://pchelp24.com/foxconn-2abf-harakteristiki.html

Xeon E3-1270 (а-ля Box)

8 ГБ RAM DDR3

120 ГБ SSD (Ubuntu Server + KDE)

5 x 4TB HDD в Soft-Raid5 (Samba)

Ввиду того, что на материнке всего 4 x 3Gb/s SATA, был докуплен на Али HBA-адаптер на 8 SATA ( https://sl.aliexpress.ru/p?key=lBENsKw ) и вставлен в PCI Express x16 (2.0). iPerf показывает около 850 мегабит между насом и виндой через 2 роутера (у меня mesh на кинетиках). При тарифе провайдера в 500 мегабит - более чем достаточный результат.

Софт:

Раньше виртуализировал nextcloud+onlyoffice прямо на NAS в KVM, но не прижился инстанс. Там же, на соседней виртуалке, был webmin, pma, сайт -заглушка, но тоже не прижились.

Остался Plex на 25 пользователей и Deluge для наполнения библиотеки контентом. После покупки пожизненного PlexPass, вынес сервер Plex на хост с Win10 и RTX3070Ti для легкого транскодирования 4К при необходимости. Туда же, но уже на Hyper-V, переехали nginx, сайт, веб-морда deluge и tautulli для plex. Рядом стоит виртуалка с minecraft для детской тусовки.

Мониторинг:

Доступность сайта - UptimeRobot

Выключение ПК - умная розетка Яндекс.

Утилизация NAS - дашборд из виджетов на столе Ubuntu и просмотр в любой момент через anydesk.

Доступность NAS сейчас не мониторю отдельно, т.к. без Plex он мне не нужен, да и ввиду отсутствия ipmi я удаленно с ним ничего не сделаю. На всякий случай NAS включен в ИБП с настройкой тушить OS по таймеру/заряду батареи.

В качестве домашней библиотеки для книжек внезапно самой удобной и рабочей остаётся SimpleOPDS, но собрать под нее в питоновское окружение нужные версии зависимостей сейчас тот ещё квест. Есть вебинтерфейс на встроенном сервере (для тестов и локалки), есть возможность прокинуть его через WSGI например в Апача, есть телеграм-бот и оно всё работает, как с онлайн библиотековыми дампами, так и с просто кучей локальных файлов.

Мне этот квест надоел, поэтому перешел на inpx-web с читалкой liberama того же автора. Они прекрасно интегрируются между собой.

А кто чем пользуется для бекапа с Android устройств?

У меня urbackup для бекапа windows/linux устройств. Для Android использую FolderSync, который бекапит на Nas, а оттуда urbackup уже бекапит.

Хотелось бы на прямую, без промежуточных костылей. Duplicati, Kopia, Bacula, Borgbackup ... ни у кого нет Android клиента.

Syncthing дико жрёт батарею. Я его использую для загрузки всякого с десктопа, но в основном он выключен. Для бекапа с телефона использую roundsync и webdav модуль sftpgo.

Syncthing - для синхронизации только, не бекап.

А что вы бэкапите? У меня просто ничего важного кроме фотографий, которые в облако уходят. И оттуда на мой сервер.

Я бы всё бекапил но в андроиде такой фичи как бекап нету вообще, есть только неполные бекапы которые сам гугол делает в свое облако. Так что приходится бекапить только фотки. С помощью syncthing. Больше нечего.

Ну вообще там есть бэкап. TakeOut называется. Я раз в несколько месяцев делаю. Правда, ни разу пока с ним не пробовал что-то сделать.

Можно бэкапить файлы любым софтом желаемым, а для приложений есть adb backup - но это ручной процесс, увы. Автоматизировать не получилось.

Тот самый момент, когда ты считаешь себя параноиком, но узнаёшь, что кто-то бэкапит бинарники андроид приложений Т_Т

Ну, в первую очередь оно нужно для данных приложений, а не самих бинарников. Но уже пару раз оказывалось, что нужны и бинарники, ибо сами приложения из маркета уже удалялись, ибо старые.

В основном фотки/видео и бекап от пары-тройки приложений которые делают локальный бекап.

Huananzhi qd4

Xeon 2690v4

64gb reg ecc

Proxmox последний

8 мест под жесткие диски

Windows 11 виртуалкой для игр и всего виндового

Отдельная виртуалка под debian, там весь self hosted софт в docker контейнерах

Для nas 2 виртуалки: OMV и TrueNAS

Раньше nas был отдельная машина с omv и mdadm

Тут докупил жестких и решил попробовать zfs. Оказывается omv не работает с zfs, надо truenas, а trunas не работает с mdadm. Вот и держу обе.

Раньше на omv в самбе еще вручную принтер подключал. Сейчас в truenas тоже придется вручную настраивать, там только жесткие диски.

И я вот для себя не пойму в чем преимущества truenas кто использует? Что можно сделать в truenas чего нельзя на голом debian? И не надо держать отдельную виртуалку. Может я что то не понимаю.

Оказывается omv не работает с zfs

там вроде был плагин для этого. но в любом случае zfs для linux - вещь которую иногда приходиться напильником дорабатывать (то лицензия не нравиться, то под ядро не подходит).

Моносборки, по крайней мере xigmanas, хороши своей реплицирцемостью - главное рабочий конфиг сохранить в файлике и можно быстро восстановить или сделать полную копию конфига на другом железе. И даже интернета не надо (а бывает так между прочим). А то любят настройки кидать в 100 разных мест иногда, да пакеты ставить с 0 - если что.

Интересно а для truenas есть подобный плагин?

Добавлю в копилочку свои варианты:

торрент - deluge, он мне больше всего зашёл по интерфейсу
code-server - облачный vscode

Sign up to leave a comment.

Articles