mirror of
https://github.com/ada-dmitry/ada-dmitry.github.io.git
synced 2026-09-24 01:10:35 +00:00
Add initial draft of "Сервисы и зачем оно вообще" article for HomeServer documentation
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 4.3 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 128 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 221 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.6 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
@@ -5,6 +5,10 @@ layout: single
|
||||
sidebar:
|
||||
nav: mobile_nav
|
||||
---
|
||||
|
||||
*Следующая часть*: [[Коробочки-коробочки]]
|
||||
*Весь цикл*: [[homeserver_hub]]
|
||||
|
||||
Как я и обещал, запускаю небольшой цикл постов о моём маленьком проекте: "Домашняя виртуализация на базе мини-ПК"
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,11 @@ layout: single
|
||||
sidebar:
|
||||
nav: mobile_nav
|
||||
---
|
||||
|
||||
*Предыдущая часть*: [[Как Дима сервер домашний поднимал]]
|
||||
*Следующая часть*: [[Новое начало]]
|
||||
*Весь цикл*: [[homeserver_hub]]
|
||||
|
||||
Мы возвращаемся к нашей эпопее с домашним сервером, напомню, мы в прошлый раз обсуждали, что такое *виртуализация* - это технология, с помощью которой мы можем на одном устройстве (сервере, ПК и т.д.) разместить множество "виртуальных устройств".
|
||||
|
||||
Сегодня мы поговорим о таких вещах, как *контейнеризация* и заденем при этом понятие *гипервизора*.
|
||||
|
||||
@@ -5,6 +5,10 @@ sidebar:
|
||||
nav: mobile_nav
|
||||
---
|
||||
|
||||
*Предыдущая часть*: [[Коробочки-коробочки]]
|
||||
*Следующая часть*: [[Сервисы и зачем оно вообще]]
|
||||
*Весь цикл*: [[homeserver_hub]]
|
||||
|
||||
Доброго вечера, коллеги!
|
||||
|
||||
Перейдем таки к конкретике:
|
||||
@@ -83,16 +87,7 @@ sidebar:
|
||||
Вот поднимаем туннель, т.е. зашифрованное соединение между двумя клиентами (peer2peer), они друг друга видят, притом VPS может свободно обращаться устройствам внутри сервера, что нам и нужно.
|
||||
|
||||
Не буду углубляться в детали происходящего, но я использую WireGuard, как туннель.
|
||||
|
||||

|
||||
|
||||
Притом, что удобно, мы этот самый WG используем и как способ защиты от нежелательных гостей, ведь мы можем настроить наши сайты так, чтобы они пускали к себе только пользователей, которые тоже являются участниками это приватной сети. Кайфы, да?
|
||||
Отвечу за вас, да!
|
||||
|
||||
У нас есть классный способ "проникать" на наши ресурсы, притом четко разграничивать доступы (вы этот сайт видите, а некоторые не видите).
|
||||
|
||||
Последнее, что я опишу в этой огромной статье - это домен - dg.ada-dev.ru (dg - digitalgarden).
|
||||
В данном случае, это поддомен домена ada-dev.ru, который зарегистрирован на меня в том же TimeCloud.Web.
|
||||
а меня в том же TimeCloud.Web.
|
||||
На него я выписываю сертификаты, поэтому на вас не ругается браузер, когда вы заходите на этот сайт по http**s**, что делает наше с вами соединение безопасным)
|
||||
|
||||
На этом на сегодня все, рассказывайте, что было понятно, что не понятно, что пояснить, куда что добавить и о чем сделать следующую статью:
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
---
|
||||
title: "Сервисы и зачем оно вообще"
|
||||
layout: single
|
||||
sidebar:
|
||||
nav: mobile_nav
|
||||
---
|
||||
|
||||
*Предыдущая часть*: [[Новое начало]]
|
||||
*Весь цикл*: [[homeserver_hub]]
|
||||
|
||||
И вновь доброго времени суток, друзья!
|
||||
После некоторого времени моего отсутствия, мы продолжим разбирать по полкам домашний сервер.
|
||||
|
||||
Начнем мы вообще с простого вопроса: "*А зачем?*"
|
||||
- Да, конечно, вот мы с вами разобрали техническую составляющую, программную, но зачем это всё? Зачем разбираться с виртуализацией, контейнерами и так далее, если можно просто пользоваться тем, что уже есть? А, кстати, что есть?
|
||||
|
||||
## Зачем нужен домашний сервер?
|
||||
|
||||
Разумеется, мне сервер нужен не просто, чтобы он стоял (хотя он красивый, конечно).
|
||||
Мы ежедневно пользуемся огромным количеством сервисов (мессенджеры, хостинги, облака), но у них у всех есть небольшая проблема — за них, зачастую, надо платить, но это не всегда главная проблема. Главной же проблемой я вижу приватность: приватный репозиторий GitHub далеко не всегда гарантирует безопасность, а частота утечек данных из облаков это вообще уже мем.
|
||||
|
||||
Поэтому логичным решением становится использование локальных решений (NAS, Git-сервер). Ну и, разумеется, никуда без самохостинга (развертывание своих проектов на локальном железе) и обучения с экспериментами.
|
||||
|
||||
## Основные сервисы для домашнего сервера
|
||||
|
||||
### NAS - Network Attached Storage
|
||||
Представьте, вот вы сидите такой молодец, у вас есть туча фоточек и видео с моря и вы о-о-о-о-чень хотите их хранить у себя дома на жестком (например) диске.
|
||||
|
||||
Всё круто, вы их перекидываете на компьютер с телефона, рассортировываете по папкам, по датам и всё вообще красиво. Но вот проблема: вы поехали на встречу с друзьями и хотите показать эти фотки, но с телефона вы их уже удалили — зачем место занимать, они ж лежат дома. Что делать? NAS!
|
||||
|
||||
**NAS - Network Attached Storage (англ. Сетевое хранилище данных)** — это оборудование (часто, сервер), которое подключено к локальной (а порой и глобальной) сети, обеспечивающее доступ к данным на этом сервере с других устройств. Самая простая аналогия — это *сетевая папка в проводнике Windows*.
|
||||
Формально, это просто компьютер, цель которого — *хранить и передавать данные*.
|
||||
|
||||
Существует большое количество уже готовых решений, но я бы выделил такое явление, как ***TrueNAS*** — это операционная система для разворачивания своего NAS-сервера. То есть это как Proxmox, но не для виртуализации, а для удобной работы с хранилищем данных.
|
||||
В TrueNAS, кстати, есть встроенное ПО для создания RAID-массивов. Про них подробнее можно почитать здесь: [[RAID — Redundant Array of Independent Disks]]
|
||||
|
||||
### Веб-интерфейсы для NAS
|
||||
|
||||
В довесок к этому, мало кому будет удобно работать с файлами постоянно через консоль (ssh, scp, rsync и т.д.) — мы же любим интерфейсы!
|
||||
Поэтому здесь открытое сообщество тоже нас не обделило возможностями:
|
||||
1) **NextCloud** — полнофункциональное облачное решение
|
||||
2) **Seafile** — легкое и быстрое файловое хранилище
|
||||
3) И ещё туча веб-интерфейсов, разворачиваемых как нативно (прямо в системе), так и через Docker (в контейнере)
|
||||
|
||||
Такие решения могут предоставлять не только веб-интерфейс для работы, как с Яндекс.Диском, но и онлайн-офис, как, например, Google Docs, Sheets...
|
||||
|
||||

|
||||
|
||||
Я для своего "облака" использовал **Seafile**, так как он менее нагруженный всякими дополнительными приложениями и т.д.
|
||||
Да и у них есть свой клиент под все системы — считай, реально замена Яндекс.Диска (кстати, графического интерфейса у ЯД под Linux нет, а тут есть).
|
||||
|
||||
Да, вы можете сказать, что оплатить подписку на ЯД не сильно дороже выйдет, чем покупать физические диски, но я с вами не соглашусь.
|
||||
Оплачивая подписку, вы покупаете не только мощности, но и защиту от падения, утечек и тому подобное. Вы не отвечаете за это, и порой это выходит боком. Сервер Яндекса лег? Ну что поделать, жди. Твой сервер лег? Ну ты молодец, че)
|
||||
Да и... скорость загрузки на своем сервере, зачастую, выше просто из соображений отсутствия нагрузки на сеть со стороны других пользователей.
|
||||
|
||||

|
||||
<small>*Веб-интерфейс Seafile*</small>
|
||||
|
||||
### Git-сервер
|
||||
Тут не буду сильно распинаться, многие из вас знают такую волшебную вещь, как git. Кстати, давайте поясню, в чем разница между git и GitHub, раз уж на то пошло.
|
||||
> [!info] Git VS GitHub
|
||||
> *Вообще, есть очень хороший и доходчивый пример по этому поводу, но он неприличный, поэтому иначе:*
|
||||
> **Git** - это инструмент версионирования, работающий локально у вас на комьютере. Никто вам не мешает, например, сохранять историю версий Word-документа, т.е. это просто программка, которая следит за изменениями конкретного файла или файлов, но тогда это уже называется репозиторием.
|
||||
> **Github** - это хостинг, соц.сеть для программистов, если угодно), место, где хранятся эти самые репозитории.
|
||||
> Проще говоря, git - это фотоаппарат, на который делаются фотки (репозитории), а github - это как *моментальнограм* (запрещенная в РФ соц.сеть), где все эти фотки хранятся.
|
||||
|
||||
Зачем разворачивать локальный хостинг репозиториев? Хз, спросите у компаний, которые вообще никогда не будут пользоваться GitHub, а разворачивают локальный git-сервер (как правило, GitLab за его функционал).
|
||||
Кроме шуток, это, конечно, приватность. Гораздо безопаснее, когда твой код (а в IT-компаниях код == продукт) хранится у тебя же на сервере (так сказать, on-premise), а не где-то там в Америках (да, знаю, что сервера GH не только там, но сути не меняет).
|
||||
|
||||
### Выбор Git-сервера
|
||||
|
||||
Я для своих целей взял, конечно, не GitLab — это тяжелое и очень мощное решение со своей системой секретов, удобным интерфейсом, встроенным веб-IDE и, за что GL очень любят — уникальной и мощнейшей системой для **CI/CD**\*.
|
||||
|
||||
> [!note] Что такое CI/CD?
|
||||
> **CI/CD** — это автоматизация работы с кодом.
|
||||
>
|
||||
> - **CI (Continuous Integration, непрерывная интеграция)**: каждый раз, когда программист коммитит код, система автоматически:
|
||||
> - собирает проект,
|
||||
> - запускает тесты,
|
||||
> - проверяет, что всё работает.
|
||||
> - **CD (Continuous Delivery/Deployment, непрерывная доставка/развёртывание)**: если всё прошло успешно, система автоматически выкатывает новую версию на сервер или готовит её к выкладке.
|
||||
>
|
||||
> **Аналогия:**
|
||||
> - CI = проверка блюда на кухне (дегустация, чтобы не было ошибок).
|
||||
> - CD = подача блюда клиенту в зале (быстро и без лишней ручной работы).
|
||||
|
||||
Для себя я развернул сервис **Gitea** — это легкий самодостаточный git-сервер со всем необходимым функционалом.
|
||||

|
||||
<small>*К тому же, очень красивый)*</small>
|
||||
|
||||
Вот пример репозитория в Gitea — ничего не напоминает?)
|
||||
|
||||

|
||||
|
||||
При этом в нем тоже есть небольшой инструментарий CI/CD в виде вкладки "Действия", хотя тут скорее CD конкретно. (Это аналог GitHub Actions).
|
||||
|
||||
## Дополнительные сервисы
|
||||
|
||||
Я ещё упомянул мессенджер, но пока до него не дошел, поэтому ничего не расскажу — да и необходимости прям такой нет.
|
||||
|
||||
С другой стороны, у меня несколько контейнеров подняты исключительно под ТГ-ботов, торговых ботов (про которых, кстати, скоро будет тоже пост). На самом сервере ещё развернут простенький бот для псевдо-мониторинга показателей сервера.
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Итог
|
||||
|
||||
В завершение хочу сказать, что домашний сервер/лаборатория — это, в общем-то, скорее игрушка, поле для экспериментов. Но! Как сказал один умный блогер на ЮТ: "Если вы не знаете, зачем вам дома сервер, то вам не нужен дома сервер)". И я с ним согласен — этим надо проникнуться.
|
||||
|
||||
От себя я могу порекомендовать попробовать поднять когда-нибудь свой NAS, потому что в любом случае у каждого есть галерея фоток, которую хочется сохранить, а облако могут закрыть внезапно. Диски же спокойненько лежат на полочке и им хорошо)
|
||||
|
||||
### Что дальше?
|
||||
|
||||
Я могу рассказать про способы хранения данных (далеко не всегда используются диски — зачастую под большое и долговременное хранение используются ленточные хранилища). Интересно?
|
||||
|
||||
На этом я заканчиваю статью — пользуйтесь только надежными сервисами, а я помогу вам в выборе!
|
||||
|
||||

|
||||
@@ -66,4 +66,4 @@ sidebar:
|
||||
---
|
||||
|
||||
## 🔗 См. также:
|
||||
- [[Кластеры высокой доступности]]
|
||||
- [[Виды кластеров высокой доступности]]
|
||||
|
||||
@@ -3,7 +3,7 @@ title: "Домашняя лаборатория (Homelab)"
|
||||
layout: single
|
||||
permalink: /homelab/
|
||||
sidebar:
|
||||
nav: mobile_nav
|
||||
nav: mobile_nav
|
||||
---
|
||||
|
||||
Коротко: это практический цикл заметок о том, как я собираю домашний сервер на базе мини‑ПК и Proxmox, запускаю на нём виртуальные машины и контейнеры, а также безопасно открываю доступ извне через туннели и VPS. Здесь — навигация по материалам и план.
|
||||
@@ -12,6 +12,8 @@ sidebar:
|
||||
- [[Как Дима сервер домашний поднимал...]] — старт цикла: что такое сервер, зачем виртуализация и изоляция сервисов.
|
||||
- [[Коробочки-коробочки...]] — простое объяснение гипервизоров и контейнеризации, когда что выбирать.
|
||||
- [[Новое начало]] — выбор мини‑ПК, установка Proxmox, доступ извне: NAT, туннели (WireGuard), VPS и обратный прокси.
|
||||
- [[Сервисы и зачем оно вообще]] — практические применения: NAS (Seafile), Git-сервер (Gitea), боты для мониторинга и автоматизации.
|
||||
|
||||
|
||||
## Технологии и принципы
|
||||
- Proxmox VE (KVM/LXC) для виртуалок и контейнеров.
|
||||
|
||||
Reference in New Issue
Block a user