Домашний хостинг
Поговорим о self-hosting, что это такое, в чём его преимущество и отличие от виртуального сервера, а также как его организовать.
Что такое этот ваш домашний хостинг
В двух словах — это размещение собственного сервера или веб-сервисов у себя дома, а не у облачного провайдера или в колокейшн.
Меня безумно привлекает идея домашнего хостинга. Чем же он так хорош:
Свобода. Ваше оборудование и сервисы находятся под вашим контролем, у вас дома. Вам больше не придётся полагаться на корпорации, и вы более не привязаны к их системам. А это важно: передавая свои данные и полагаясь на их услуги, вы теряете свободу. Проще говоря, домашний хостинг позволяет создать устойчивый интернет, не теряя при этом ваших прав.
Масштабируемость. Вы вольны использовать любое доступное оборудование и комплектующие и можете выбрать либо собрать самостоятельно сервер в соответствии с вашими потребностями.
Знания. Этот пункт я нахожу наиболее важным. Это отличная возможность завладеть новыми знаниями и подтянуть скилл.
Что вам нужно
- В первую очередь вам нужен компьютер, это может быть старый ПК, одноплатник, ноутбук или полноценный сервер
- Маршрутизатор
- Интернет с хорошими показателями upload
Не обязательно, но желательно 4. Источник бесперебойного электропитания 5. Резервное интернет-подключение
Разница с VPS
VPS (virtual private server) — это виртуальная машина, которую облачный провайдер предоставляет в аренду.
Благодаря виртуальному серверу каждый может легко арендовать сервер и у него существуют как плюсы, так и минусы.
К плюсам я бы отнёс разве что цену и низкий порог входа. Вы будете пользоваться сервером, а всё остальное техническое обслуживание ляжет на плечи провайдера. А вот минусов у VPS масса:
- Менее масштабируемый
- Вам не принадлежит весь сервер
- Проблемы безопасности
- Ограниченный контроль
Домашний же сервер выделяется противоположными качествами:
- Высокой производительностью
- Полным контролем
- Безопасностью
Домашний хостинг далеко не идеальное решение, да. Вам нужно покупать оборудование, заменять неисправные компоненты, проводить техническое обслуживание, чтобы система оставалась работоспособной.
Вдобавок накладываются бытовые проблемы — перебои с электропитанием или интернетом, постоянная пыль внутри сервера, установка PTR-записи. Все эти проблемы решаемы, но вносят некоторые коррективы, нужно быть к ним готовым.
Однако это решение заметно выигрывает, если заниматься им в сообществе и для сообщества: общий почтовый сервер для группы людей или сервер связи, объединённый в более крупную сеть по типу Matrix либо Fediverse.
О моей домашней сети
Всё покупалось на Авито, цены я укажу с учётом доставки, чтобы было представление о стоимости домашнего хостинга (цены 2019–2021 гг.)
Маршрутизатор
TP-Link TL-WR1043ND
ОС: OpenWrt
Количество LAN-портов: 4
Скорость портов: 1 Гбит/с
Порты USB: USB 2.0 Type A
Цена: ₽1380

Этот роутер старый, но с поставленными задачами справляется. В какой-то момент у него перестало хватать памяти, пришлось расширить USB-флешкой. В будущем мне бы очень хотелось попробовать что-то более серьёзное, по типу OPNsense.
Сервер на базе материнской платы Supermicro X7DWT
CPU: Xeon 2xE5420 4x2.5 ГГц (в сумме 8 ядер), Sockets LGA771
ОЗУ: 16 Гб ECC
HDD: 1024 Гб SSD, RAID 2x1024 Гб HDD
ОС: YunoHost
Корзина на 4 диска
Цена: ₽11500 + ₽6700 2хHDD + ₽8000 SSD. Итого: ₽26200
Источник: ebay
У этой материнки интересный форм-фактор, их называют блейдовые. Их часто используют для построения кластера: в таком виде удаётся уместить четыре двухсокетных узла в шасси 2U. Основная идея этих конструкций заключается в том, что четыре узла совместно используют резервные блоки питания и систему охлаждения.
NAS
HP Compaq 6000 Pro SFF
CPU: Intel E3300 2x2.5 ГГц, Sockets LGA775
ОЗУ: 12 Гб DDR3
ОС: TrueNAS SCALE
Корзина на 6 дисков 2.5
Цена: ₽10700 + ₽2000 8 ГБ ОЗУ. Итого: ₽12700

С этим ПК я однозначно промахнулся, он не стоит ни своих денег, ни времени, ни сил, которые я на него потратил. Но мне захотелось домой тихий NAS, не юнитовый, и вот что из этого вышло.
Сейчас на этом сервере запущено пару Docker-контейнеров и хранятся торренты. Процессор слабоват, но пока справляется, в среднем нагружен на 30%.
В итоге: ₽38900
Сопутствующие расходы.
Интернет: ₽750, 500 Мбит/с
Электроснабжение: ≈₽1300
Сейчас, конечно, меня посещает мысль, что следовало бы подкопить эти деньги и приобрести нормальный юнитовый сервер и установить на него Proxmox, так было бы проще.
Карта сети выглядит примерно так

Интересные статьи:
1. Parler's epic fail: A crash course on running your own servers on a shoestring budget
2. Why self hosting is important
3. Awesome-Selfhosted