- Rust 75.3%
- Python 14.4%
- JavaScript 10%
- HTML 0.3%
Project at a glance
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| design | ||
| docs | ||
| scripts | ||
| src | ||
| tests | ||
| verification | ||
| web | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| rust-toolchain.toml | ||
LumeDeploy
Версия: 0.4.1 · Выпуск v0.4.1.
Локальный установщик экосистемы LumeSoftware на Rust. Один исполняемый файл: графический интерфейс в браузере и CLI используют одно ядро установки. Интерфейс встроен в бинарный файл; Electron, Node.js и Rust для запуска самого установщика не нужны. Для компонента Studio требуется Node.js 22+.
Возможности
- Мастер из пяти шагов: компоненты, проверка, настройки, точный план, установка.
- Готовые релизы DB/BOS/UNT/Studio из публичной ленты LumeGit, отдельные версии и SHA-256.
- Проверка Linux x86_64, свободного места, портов, Node.js и совместимости набора.
- Изолированная установка для текущего пользователя без sudo; безопасная распаковка архивов.
- Настройка администратора и BOS, запуск и проверка ответов приложений.
- Обзор, сведения о новых выпусках, каталоги данных и журналы с сокрытием пароля.
- Штатная остановка DB/BOS и повторный запуск; данные сохраняются.
Выпуск 0.4.1 рассчитан на новые локальные окружения GNU/Linux x86_64 с glibc 2.39+. Проверяемый набор: DB 0.1.2, BOS 0.2.1, UNT 0.1.2, Studio 0.4.1. Автоматическое обновление существующей базы, миграции, резервное копирование, откат, установка на другой сервер по SSH и импорт чужих установок не входят в этот выпуск. При появлении версий вне проверенного набора установка останавливается до обновления таблицы совместимости. CSL — библиотека, отдельный сервис не создаётся.
Первый запуск
Скачайте Linux-архив и файл контрольной суммы со страницы выпуска:
sha256sum --check lumedeploy-0.4.1-linux-x86_64.tar.gz.sha256
mkdir -p lumedeploy-0.4.1
tar -xzf lumedeploy-0.4.1-linux-x86_64.tar.gz -C lumedeploy-0.4.1
cd lumedeploy-0.4.1
./lumedeploy
При запуске без аргументов выберите интерфейс: CLI — установка в терминале
или GUI — мастер в браузере. Стрелки и Enter выбирают режим; Esc выходит.
Для прямого запуска используйте ./lumedeploy cli или ./lumedeploy gui.
Терминальный мастер поддерживает полный цикл установки, скрытый пароль с
повтором, настройку путей и портов, проверку, точный план и прогресс. После
установки доступен обзор, запуск/штатная остановка, журналы и пути данных.
Графический режим открывает локальную страницу. Если браузер не открылся,
скопируйте полный адрес из терминала. Ключ сеанса находится после #session=;
он нужен для доступа к API и действует до закрытия приложения. Не передавайте
этот адрес другим людям.
По умолчанию GUI слушает 127.0.0.1. Удалённый режим включается явно через --remote; оба режима требуют ключ для API и проверяют Host/Origin.
Сервисы также привязываются только к loopback. LumeUNT Node — демонстрационный
сервер без авторизации и шифрования; DB и BOS используют заданного администратора.
Без аргументов ./lumedeploy предлагает три пункта: CLI, локальный GUI и GUI на VPS.
Для подключения с другого компьютера выберите третий пункт — IP определяется
автоматически, готовая ссылка появляется в терминале. Переключение: ↑/↓ или Tab;
клавиши 1/2/3 выбирают пункт, Enter запускает. Esc отменяет запуск.
Интерактивный CLI
./lumedeploy cli
./lumedeploy --root "$HOME/LumeEnvironments/demo" cli
Стрелки/Tab перемещают выбор, Space включает компонент, Enter подтверждает.
В полях ←/→, Home/End, Backspace/Delete и Ctrl+U редактируют значение.
PgUp/PgDn прокручивают длинный план или журнал; Tab возвращает к действиям.
Символьная шапка LumeDeploy показана на всех экранах CLI. Большая надпись
появляется при достаточной ширине и высоте (от 30 строк), в небольшом терминале —
компактный логотип. Прокрутка учитывает высоту шапки.
Минимальный размер терминала — 64×20, поддерживается изменение размера.
Пароль и его повтор скрыты. NO_COLOR=1 отключает цвет.
Ctrl+C во время установки запрашивает отмену на безопасном этапе. Проверенные пакеты и конфигурация сохраняются. Финальный запуск/штатная остановка сначала завершаются; затем интерфейс выходит и восстанавливает настройки терминала. При следующем запуске незавершённую установку можно продолжить.
Без TTY меню не открывается: приложение печатает подсказку и завершает работу.
Для скриптов используйте явные команды ниже. gui --no-open по-прежнему
работает без TTY и печатает адрес для браузера.
CLI для автоматизации
./lumedeploy --help
./lumedeploy check --components db,studio
./lumedeploy plan --components db,bos,unt,studio
read -rsp 'Пароль администратора: ' LUME_DEPLOY_PASSWORD
printf '\n'
printf '%s' "$LUME_DEPLOY_PASSWORD" | ./lumedeploy install --components db,bos,unt,studio --password-stdin
unset LUME_DEPLOY_PASSWORD
./lumedeploy status --json
./lumedeploy stop
./lumedeploy start
./lumedeploy logs --component db
Пароль — минимум 12 символов, без двоеточия и управляющих символов. Он передаётся CLI компонентов через stdin, а Studio — через окружение процесса. Для повторной попытки незавершённой установки используются сохранённые настройки и секрет; передавать пароль повторно не требуется.
По умолчанию используется ~/.local/share/lumedeploy/environments/local.
Другую папку можно выбрать в мастере или через глобальный --root:
./lumedeploy --root "$HOME/LumeEnvironments/demo" gui
./lumedeploy --root "$HOME/LumeEnvironments/demo" status
Порты задаются --db-port, --repl-port, --transport-port, --bos-port,
--unt-port, --studio-port. Команда install --no-start только подготавливает
установку. gui --no-open печатает адрес без открытия браузера.
Сборка и проверка
Нужны Rust 1.99 и системный линковщик; соседние репозитории не требуются.
cargo build --release --locked
cargo test --locked
cargo clippy --all-targets --locked -- -D warnings
./target/release/lumedeploy --version
Сквозная проверка скачивает настоящие релизы в отдельную временную папку, запускает сервисы на свободных портах и останавливает их после проверки:
python3 scripts/e2e.py
Браузерная проверка описана в руководстве разработчика.
Документация
- Каталог
- Первый запуск и решение проблем
- Архитектура и хранение
- Модель безопасности
- История изменений
Лицензия: MIT.
Общий визуальный стиль
GUI использует логотип, локальные шрифты Golos Text / IBM Plex Mono и палитру LumeWebsite. На главной слоганы меняются автоматически, без кнопок и счётчика. Автосмена останавливается в скрытой вкладке, вне экрана и при настройке уменьшенного движения. Шрифты включены локально с лицензиями OFL.
Описания проектов синхронизируются из LumeWebsite/design/project-descriptions.json.
Локальная копия — design/project-descriptions.json; не редактируйте подписи в JS вручную.
GUI на VPS с прямым доступом
./lumedeploy gui --remote
LumeDeploy определит IP VPS и выведет полный адрес http://IP:19080/#session=….
Откройте именно его в браузере своего компьютера. Для этого входящий TCP-порт
19080 должен быть разрешён в брандмауэре и панели провайдера. Приложение не
изменяет правила сети автоматически и не открывает браузер на сервере.
IP берётся из публичного адреса текущего SSH_CONNECTION. При необходимости
используется HTTPS API ipify; при недоступности сервиса
сохраняется известный адрес SSH. Для NAT, VPN или другого адреса есть явный выбор:
./lumedeploy gui --remote --public-ip 203.0.113.10 --port 19080
HTTP не шифрует ключ сеанса и вводимые данные. Для постоянного доступа через HTTPS настройте внешний прокси и укажите его адрес; сам LumeDeploy в этом примере доступен прокси только через loopback:
./lumedeploy gui --remote --public-url https://deploy.example.com --listen 127.0.0.1 --port 19080
При --public-url backend по умолчанию слушает loopback.
Прокси должен сохранять исходные Host и Origin. --public-url задаёт внешний
адрес, а не устанавливает сертификат. Пути, параметры, fragment и учётные данные
в этом адресе не допускаются.
Удалённый режим открывает только GUI LumeDeploy. DB, BOS, UNT и Studio продолжают
слушать localhost на VPS. Для Studio нужен отдельный HTTPS-прокси или туннель;
ссылка на localhost компьютера пользователя в удалённом интерфейсе не показывается.
CLI, TUI и обычный gui сохраняют прежний локальный режим.
Установка Node.js из интерфейса
Если для Studio отсутствует Node.js 22+, на шаге проверки нажмите «Установить Node.js». В CLI на том же шаге выберите «Установить Node.js 22 для этого окружения». Оба интерфейса показывают этапы и объём загрузки; после завершения проверка повторяется автоматически. В GUI прогресс восстанавливается после перезагрузки страницы.
LumeDeploy скачивает Linux x64 runtime из официальных выпусков
Node.js 22 по HTTPS, проверяет SHA-256
по официальному SHASUMS256.txt и запуск бинарника. Он хранится в
runtime/node/bin/node выбранного окружения и используется для запуска Studio
после перезапуска LumeDeploy. Системные пакеты и PATH не меняются, sudo не нужен.
Это runtime для Studio, без установки npm и глобальных команд.
При выборе другой папки окружения Node.js проверяется для новой папки.
Загрузка зависит от доступа VPS к nodejs.org; ошибку можно исправить и повторить
установку. Проверенные архивы кешируются.
