Сообщество - Хомячу Сервер

Хомячу Сервер

21 пост 1 325 подписчиков

Популярные теги в сообществе:

339

Хомячим домашний сервер - v1.5.0. Итоги года

Серия HomeLab

Прошло примерно три месяца с момента моего первого поста в этом сообществе - про то как я сделал свой домашний сервер. Я был молод и наивен полон энтузиазма и считал что уже все сделал и был готов делится опытом.

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

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

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

Слой железа.

  1. Добавилась еще одна машинка. Знакомый вворемя заметил тренд на подорожание оперативной памяти и посоветовал - если тебе что то нужно - бери сейчас или потом не ной. Поэтому я залез в кубышку и приобрел еще ASUS NUC 14 Pro Tall Kit RNUC14RVHV500002I (Intel Core U5 135H Processor, Intel Arc Graphics, Intel WiFi 6E, No Operating System, with EU Power Cord), добавил к нему WD_BLACK SN850X NVMe SSD 4 TB Internal SSD и Crucial DDR5 RAM 96GB Kit (2x48GB) 5600MHz SODIMM. Все вместе стоило 1158 евро, сейчас такой же набор уже обошелся бы мне 1973 евров. Моя жаба довольна, до тех пор пока не займусь плотно llm локальными - мне желаза хватит надолго.

  2. Добавился TP-Link TL-SG3428X 24-Port Gigabit L2+ Managed Switch (4 10GE SFP+). Ранее все устройства были воткнуты напрямую в роутер - но это не очень правильно. Добавление считча позволило мне
    - обьединить все сервера в высокоскоростную сеть.
    - снять нагрузку с с CPU роутера

    - интегрировать Omada и сделать более сложную топологию сети.
    Свитч подключен 10G к роутеру, остальные три порта заняты НАС и двумя машинами.

    Совершенная ошибка: всего 4 быстрых порта в свитче, сейчас я бы взял 8 SFP+, а меди можно было взять меньше.

    В свою защиту скажу что три месяца назад я вообще не знал что такое SFP+ и что бывают скорости больше 2.5 гигабита.

  3. Добавился юсб - хаб, временное колхозное решение, но в серверах начало не хватать портов для переферии. Уберу в версии 2.0.

Слой ОС

Наиболее заметные изменения были именно на этом слое. Три месяца назад на одной машине у меня стоял OMV, на котором крутились все контейнеры, а на второй - Проксмокс, на котором крутились виртуалки Home Assistant.

Совершенная ошибка: OMV это прежде всего сетевое хранилище, на которое «сверху» прикрутили возможность запускать Docker. Если падает ОС или забивается системный диск логами Docker - падает всё сразу.

Сейчас OMV я убил полность, а на все три машины установлен Проксмокс, ноды обьединены в один управляемый кластер, критически важные машины используют SSD iSCSI-рейд на NAS.

Proxmox - это гипервизор 1-го уровня. Все сервисы живут отдельно. Падение одного не задевает другого. При наличии кластера (три+ устройства) можно использовать iSCSI луны как системные диски, можно обеспечивать High Availability state. Простыми словами - если запщущенная у меня на одной машине виртуалка падает, даже если вся машина полностью выходит из строя - проксмокс автоматически поднимает ее копию спустя пару минут на другой машине. Часто пользователь даже не замечает этого. В случае если нужно провести обслуживание одной машины - виртуалку за пару минут можно перенести на другоую машину без потери доступности. Proxmox Backup Server позволяет быстро и экономно хранить бекапы всего и вся.

Слой логики.

Совершенная ошибка: Я перетащил все 60 + контейнеров с моей машины OMV на ноду проскмос без проблем - но проблема началась позже. У меня не было распределения сервисов на "критические" и "контентные", все висело на одной виртуалке. Если она падала - падало все. А она падала!
Решением стало выделение отдельной виртуалки (infra-gateway) для системных служб (Nginx Proxy Manager, Omada Controller, Authentik, AdGuard Home, Prometheus, Grafana, Alertmanager, Uptime Kuma, Dozzle Master и CrowdSec). Я повесил ее в режим High Availability state и это стало моим лучшим решением - никакие дальнейшие эксперименты в лабе не могли "сломать мне все". Пойдя дальше я разнес окружения контента и разработки тоже на отдельные машины, но об этом позже. В свое оправдание (да, люблю я оправдываться) могу сказать что про Single Point of Failure, сиречь единая точка отказа и про Blast Radius (радиус поражения) - я тогда не слышал и не задумывался. Хождение по граблям наше все.

Слой приложений.
Этот слой тоже претерпел заметные изменения, как по содержанию, так и по логике.

Первый месяц после сборки своего сервера.

Первый месяц после сборки своего сервера.

Совершенная ошибка: Первое время логика была такая - О, такая штука есть, я ее себе хочу. Таким образом у меня на OMV в докере появился например YunoHost (внутри которого, в докерах же, появились другие сервимы), или например заметную часть оперативки стал занимать почти корпоративный сервис для аудита безопасности GreenBone.

Пару месяцев спустя и заново изобрел подход (который изобрели задолго до меня) YAGNI (You Ain't Gonna Need It - не устанавливай сервис до тех пор, пока у тебя не возникла реальная, осязаемая потребность в нём. Сервисы нужно обновлять. Сервисы нужно защищать. Сервисы нужно пониторить. Сервисы нужно бекпить. Сервисы тратят ресурсы системы и электричество. Поэтому если я не планирую открывать сервис чаще чем раз в месяц - вероятно сервис мне не нужен.

Пока я не до конца прошел этот путь (у меня есть несколько сервисов с близкими или дублирующимся функциями), но постепенно от них избавляюсь. Уже избавился от Speedtest Tracker (тратит ресурсы, показывает всегда прямую линию), ByteStash (заменил Gitea), Terminal (заменил VC Code), Cockpit (заменил VC Code), YunoHost (работаю напрямую с контейнерами, так гибче и удобней)

Новые сервисы

Так сейчас выглядит мой дашблорд с сервисами.

Так сейчас выглядит мой дашблорд с сервисами.

Я все еще продолжаю (и планирую продолжать) экспериментировать с сервисами. Ставлю, смотрю удобно или нет, решает ли мою проблему какую то или нет. Если нет - удаляю, если да - то оставляю. Из интересного за последние месяцы появились

  • Authentik - единое окно авторизации. С настройкой пришлось повозится, но потом стало очень удобно, особенно когда подвключил к сервисам жену и других родственников. Единожды создаешь пользователя в goauthentik, пользователь помнит пароль только от goauthentik, остальные сервисы используют SSO авторизацию.

  • Filebrowser - файловый менеджер. Ближайший кандидат к удалению. Через VC Code удобней.

  • CrowdSec - один из сервисов, который я почти никогда не открываю - но удалять не планирую. Этот сервис "читает" логи Nginx Proxy Manager и Authentik в реальном времени. Он видит каждый IP-адрес и то, что он пытается сделать. Как только поведение признано враждебным, CrowdSec принимает решение: забанить этот IP на определенное время. Далее он передает через апи команду в Cloudflare Bouncer, и тот блокируется на уровне серверов Cloudflare. Решение работает и децентрилизовано - если злоумышленик пытался кого то взломать (тех, у кого тоже стоит краудсек), то он автоматически будет забанен и у меня.

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

  • Adguard Slave поселился в добавок к основному - даже если HA машина с основным adguard перегружается или недоступна - доступ к интернету остается. Синкается автоматически.

  • Немного изменил медиа стек. Раньше я руками заходил в пролар, искал там что-то, отправлял в куторрент. А потом руками переносил в нужную папку - музыка ли, фильмы ли, сериалы ли. Сейчас работает не так - есть Jellyseerr, который выглядит почти как Нетфликс, в котором я просто выбираю что хочу посмотреть, нажимаю "скачать", а дальше происходит магия и нужный сериал или фильм появляется в плеере.

  • Gitea. Я начал работать с VC Code и гитом, хранить там всякие конфиги, стаки контейнеров, автоматизации, очень удобно.

  • Paperless-ngx - решает проблему бумажного и цифрового хаоса, превращает горы документов в структурированную базу данных с мгновенным поиском.

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

  • Vikunja - удобный таск трекер для личных задач, хобби, развития. Работает для меня и жены.

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

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

    В ближайших планах

  • Разрбраться с протоколом связи Meshtastic, установить дома стационарную ноду

  • Перенести все барахло в специальный ящик, сделать кабель менеджмент

  • Подключить все это к нормальному ИБП (пока проблем с сетью нет - но могут быть)

    В дальних планах

  • Купить для АИ стека машинку PGX 30KL - MT - 1 x GB10 Grace Blackwell Superchip - RAM 128 GB, попробовать поиграться с большими моделями.

  • Изучить автоматизацию на Flowise и n8n

Показать полностью 3
9
Вопрос из ленты «Эксперты»

Почему не работает healthcheck внутри Docker-контейнера?

Всем ку. Не могу понять, в чем проблема, может не вижу что-то. Сама аппа контейнера слушает на 80 порту и роут /health отдает ответ и код 200, аппа работает и запускается, в ней проблем нет. HealthCheck для контейнера не работает для Swarm ни через curl ни через httpcheck, контейнеры киляются и пересоздаются заново при replicas > 1. Контейнеры и сам Swarm управляются через Dokploy на VPS. Такое чувство, будто внутри контейнера нет доступа к http://localhost/health, проверить не могу, т.к. scratch-образ, но возможно в нем и есть причина? Просто не хотелось бы раздувать его.

Dockerfile:

```

# syntax=docker/dockerfile:1

FROM golang:1.24 AS builder

ARG CGO_ENABLED=0

WORKDIR /app

RUN go env -w GOMODCACHE=/root/.cache/go-build

COPY . ./

RUN --mount=type=cache,target=/root/.cache/go-build go mod download

RUN --mount=type=cache,target=/root/.cache/go-build go build -o ./bin/service

FROM scratch

WORKDIR /app

COPY --from=builder /app/bin/service ./service

EXPOSE 80 8081

COPY --from=ghcr.io/tarampampam/microcheck:1 /bin/httpcheck /bin/httpcheck

HEALTHCHECK --interval=1m --timeout=5s CMD ["httpcheck", "http://localhost/health"]

ENTRYPOINT ["/app/service"]

```

Показать полностью
16

Проект Rss ленты в телеграм

Всем привет.

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

Это проект

https://github.com/Rongronggg9/RSS-to-Telegram-Bot

Когда деревья были большими я был помоложе и было больше свободного времени, я потреблял новости из кучи источников. Много было подписок на ЖЖ (кто то еще помнит это прекрасное место?), затем, потихоньку, стал приобщаться к концентрации новостей в одном месте, выбрал rss потоки, тем более был офигительно удобный инструмент google reader, и ЖЖ позволяла делать rss ленту из журнала пользователя. Но, как и многие проекты Google, он в какой то момент ушёл на кладбище.

Его сменил feedly, где я просидел достаточно долго.

Однако, телеграм занимался все больше объёма в моем новостном потоке, поэтому, я стал искать конвертер из rss в телеграм, и я нашел. Проект https://github.com/Rongronggg9/RSS-to-Telegram-Bot легко разворачивается на своём сервере, можно сразу затянуть opml файл с существующими подписками, указываешь токен тг бота, и все, у тебя личный чат, куда приходят сообщения из выбранных rss лент.

Кто то может спросить - что за старый формат этот ваш rss, нафиг он нужен, ну вот мне, например нужен. У меня прекрасно из habr.ru и reddit.com попадают посты по выбраннлй мне теме, и не нужно заходить лишний раз на сайты, а сидеть в телеге и почитать ).

Короче, если нужно - разворачивайте, настраивайте и пользуйтесь с удовольствием.

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

Показать полностью
25

Home Assistant: маленькие полезности

Серия Home Assistant

В этом цикле продолжу рассказывать о полезных плагинах и своих находках в стеке Home Assistans. И начнем с важного, с бекапов.

Коротко: Если у вас Home Assistant, и вы ещё не ставили Time Machine и Google Drive Backup - вы живёте на краю без страховки. Первый даёт возможность откатиться, когда что-то поломали. Второй - спасёт, если Home Assistant вовсе не загрузится.

Home Assistant Time Machine — кнопка «отмени всё!»

Этот модуль записывает историю изменений ваших YAML-файлов и конфигурации. Представьте: обновили аддон — и весь интерфейс посыпался. А Time Machine просто говорит:

«Хочешь вернуться в прошлое, где всё работало?»

Установка:

  1. Settings -> Add-ons -> Add-on store

  2. Добавляем репозитарий (три точки в верхнем углу -> Add-on store -> Repositories - https://github.com/saihgupr/HomeAssistantTimeMachine)

  3. Находите Home Assistant Time Machine в Add-on store

  4. Установите и перезапустите HA.

  5. После этого в меню появится вкладка Time Machine, где можно выбирать дату и возвращаться к нужной версии.

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

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

Home Assistant Google Drive Backup - “спасательный круг” в случае фиаско.

Этот модуль делает резервные копии всей системы и шлёт их в ваш Google Drive.
Если сервер сдох, SSD умер или кот выдёрнул кабель - просто ставите свежий HA и жмёте Restore from Drive. Всё вернётся, как было.

Установка:

  1. Там же, в Settings -> Add-ons -> Add-on store указываете репозитарий https://github.com/sabeechen/hassio-google-drive-backup

  2. Затем в Add-on store ищите Home Assistant Google Drive Backup.

  3. После установки появится мастер подключения к вашему Google Drive.

  4. Авторизуйтесь через Google, выберите папку для бэкапов.

  5. Настройте расписание: например, ежедневно в 3:00 и хранить последние 5 копий.

Бонус: можно включить автоудаление старых бэкапов и уведомления в Telegram, если вдруг резервное копирование не удалось

Бонус: можно включить автоудаление старых бэкапов и уведомления в Telegram, если вдруг резервное копирование не удалось

Оба модуля ставятся за 10 минут, но могут спасти часы (или дни) восстановления. Лично мне - уже не раз спасали.

Вернусь позже с другими полезными плагинами. Ну и делитесь своими в комментах или в отдельных постах сообщества

Вернусь позже с другими полезными плагинами. Ну и делитесь своими в комментах или в отдельных постах сообщества

Показать полностью 3
15

Самые интересные проекты на вашем сервере?

Собственно заголовок все спрашивает сам )

Понятно, что более частый вопрос про распространённые селф-хост сервисы, и обычные задачи, типа файлообменник, фотохранилище и т.д.

А вот чем специфическим, так сказать уникальным вы можете похвастаться?

Начну с моего - запустил на своем сервере связку n8n+rmapi+gotenberg+контейнер с вайбкодонаписанной оболочкой для rmapi, которые по расписанию собирают rss и упаковывают его в pdf (gotenberg) и отправляют через http request ноду (вайбописанная апи-оболочка к rmapi) в облако remarkable, чтобы утром в метро я почитал новости на блокноте.

Ваша очередь )

13

Прошу совета в создании домашнего сервера

Собственно сама суть.
Цели: файломомойка, аналог гугл фото, развернуть парочку сервером для игр с друзями(4 человека), запустить сервер тим спик, и возможно медиа сервис.
Задача:
1.выбрать подходящее железо за недорого(в наличии есть комплект xeon, есть ли смысл на нем собирать или менять на что то посвежее?)
2. Выбрать операционку (сейчас выбираю между proxmox и winserv 2019), желательно что бы доступным языком рассказали отличия операционок(можно ли запускать серверы игр на линукс?)

16

История перемещений aka свой Google Timeline

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

Как оказалось - есть опенсорсный селфхост аналог этого сервиса. Называется Dawarich. Ссылка на репозиторий https://github.com/Freika/dawarich

История перемещений aka свой Google Timeline

Проект активно развивается, обновления частые, но по функционалу пока что есть нюансы. Сейчас умеет писать треки, фиксировать посещения, собирает статистику по километражу, странам и городам. Можно подключить Immich или Photoprism, тогда на карте появятся еще и фотографии привязанные к местности. Можно создавать "путешествия". Указываете дату начала и дату окончания поездки и полный трек с фотографиями(если фотосервис привязан) и статистикой появится под отдельной вкладкой интерфейса.

Собираются данные само собой с телефона. Для iOS есть свое приложение. Для Android можно использовать ряд трекеров типа GPSLogger или OWNTrack. Также есть интересное решение по сбору данных из HomeAssistant. HASS уже собирает данные о геолокации пользователя, почему бы не передать их в Dawarich. Для этого есть кастомная интеграция в HASS. Настраивается в два клика и позволяет не устанавливать на телефон никаких дополнительных приложений. Правда, при условии что уже установлено приложение HomeAssistant.

Устанавливать все это добро разработчик рекомендует в виде Docker контейнеров, с использованием Compose. Мануал по установке и настройке есть в документации: https://dawarich.app/docs/intro

Показать полностью 1
16
Вопрос из ленты «Эксперты»

Как настроить безопасный доступ к внутренним ресурсам за маршрутизатором?

Всем доброго!
уже писал про свой домашний сервер на Proxmox/Debian, сейчас на нем развернуты файлохранилище и семейный фотоархив на Immich. Провайдер выделил мне глобально маршрутизируемый IP, есть свой домен. По случаю также достался сервер за рубежом ("дальний"), в качестве эксперимента на него установил OpenVPN для устранения проблем, связанных с устареванием серверов Google.
Моя цель - получать доступ к сервисам домашнего сервера, себе и жене, с телефонов, чтоб это было безопасно и удобно.

  1. Самый простой вариант - просто привязать домен к своему IP и пробросить порты на роутере. Но не уверен, что это достаточно безопасно, есть риск взлома роутера и домашней сети.

  2. Более сложный (но все равно достаточно легкий) - установить на телефонах и домашнем сервере vpn-клиент, и работать с сервером как внутри локальной сети. Минусы - постоянная включенность VPN тратит трафик дальнего сервера, а постоянно включать/отключать vpn просто неудобно.

  3. ? Возможен ли вариант настройки прокси на "дальнем" сервере, чтоб первичное подключение осуществлялось к нему, а он бы перенаправлял запросы на домашний сервер? Получится ли каким-то образом контролировать доступ подключенных устройств к "дальнему" серверу? Тогда на домашнем роутере можно было бы ограничить запросы снаружи только для конкретного IP "дальнего" сервера, или например, вообще паковать этот трафик в vpn. Минус - дополнительная настройка прокси на устройствах, которую возможно потребуется включать/отключать.

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

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества