Это заметка скорее для технических специалистов (программисты/админы), поэтому сразу исходники: https://github.com/stepin/home-cloud
Потенциально может быть написано веб-приложение (и даже совсем недолго), в котором можно выбрать опции настройки конкретной системы, получить zip-архив и распаковать его на обычную (FAT32) флешку. Затем на одной флешке вставляется инсталлятор (iso) или уже готовая система (raw), а на другой эти настройки. Так система будет автоматически настроена.
По сути автоустановка в MicroOS – это запуск shell-скрипта, а уже в нем можно делать что угодно. Я разбил его на различные шаги, чтобы можно было легко выбирать под конкретную систему. Предполагается, что сами приложения будут запускаться через podman (контейнеры), а вне контейнеров по сути только настройка операционной системы.
Это пока что на стадии “прототипа”, если думать о коробочном домашнем облаке. С точки зрения лично меня – все 2 моих сервера уже настроены, и больше мне не надо. Посмотрим будет ли желание заниматься подобным open source проектом – непонятно в итоге это кому-то нужно или нет.
В связи с прототипностью осознанно не даю каких-то детальных описаний как это все ставить: если человеку такое сложно (не знает и не хочет разбираться), то еще рано на данном этапе ставить.
Планирую записать видео с описанием как оно все работает и что есть.
Пример использования
- Пользователь покупает флешку на которую будет ставиться система. Неплохо подходит SanDisk Ultra Fit 32Gb: она крайне маленькая, поэтому не будет болтаться, достаточно места и хорошая скорость. Потенциально можно и на 16Gb, но разницы в цене практически нет, а в комфорте может оказаться существенной. Меньше 16Gb смысла нет. Больше 32Гб можно, только если опять же разницы в цене практически нет, на практике оно вряд ли будет особо использоваться (при наличии SSD для данных).
- Пользователь заходит на сайт, там выбирает основные параметры установки (этого еще нет):
- Имя сервера, например home
- Язык
- Клавиатура
- Часовой пояс
- Имя пользователя, пароль, ssh-ключ
- Настройки сети, если необходимы какие-то нестандартные
- После выбора параметров пользователь скачивает iso-образ, и с помощью программы (например, balenaEtcher или другой) записывает на флешку. Сейчас 2 флешки: базовая ОС (либо установщик для установки на sd-карту, либо предустановленный образ для загрузки с этой флешки) и настройка автоустановки.
- Пользователь вставляет флешки в будущий домашний сервер. В биосе выбирает всегда грузиться с основной флешки.
- Сервер загружается и веб-панель управления (Cockpit) доступна через адрес https://cloud.local:9090
- В веб-панеле прежде всего настраиваются диски под данные – отформатировать, примонтировать. Запускается сервис установки домашнего облака на диск данных.
- (нет этого сейчас) Затем в веб-панеле выбираются настройки балансировщика: будут ли приложения доступны извне, нужно ли получать LetsEncrypt https-сертификаты.
- (нет этого сейчас) Далее в веб-панеле выбираются приложения для установки из магазина приложений.
- (нет этого сейчас) Отдельная раздел в веб-панеле посвящен резервному копированию: там представлены варианты резервного копирования на другой сервер, на внешний жесткий диск при подключении и в облака.
- В веб-панеле можно поменять настройки, сделанные во время установки. И не только. Например, еще включить wake on lan и сделать выключение компьютера по расписанию.