Удалённая установка Arkvory
Arkvory Remote Setup — локальный мастер на компьютере администратора. Он подключается к серверу по SSH, устанавливает нативный Arkvory и открывает консоль через защищённый туннель. После проверки подключения установка выполняется одной кнопкой: скачивание стабильного релиза, проверка SHA-256, передача, установка зависимостей и служб, создание владельца, проверка готовности и проброс API.
Это реализованный профиль приватного административного доступа. Постоянная публикация для других компьютеров, HTTPS по домену, настройка DNS/NAT/firewall и удалённый Compose через этот мастер пока не реализованы. Локальные Compose-установщики доступны отдельно: развёртывание. Две машины с репликацией не создаются этим мастером автоматически.
Запуск
- Windows: установить клиентский
Arkvory-CLI-Setup-x64.exe, затем открыть Arkvory Remote Setup из меню «Пуск» или последнего шага установщика. Для запуска мастера не нужны права администратора; Node.js включён в пакет. Процесс запускается в фоне, интерфейс — в браузере. - Linux desktop: установить
Arkvory-CLI-amd64.debилиArkvory-CLI-x86_64.rpmчерез графический менеджер пакетов; открыть Arkvory Remote Setup в меню приложений. Включены Node.js и launcher; пакетный менеджер устанавливаетxdg-utils. Нужен настроенный браузер рабочего стола. - Для инженера:
node arkvory-remote.mjsс Node.js 24.--helpпоказывает справку;--artifact <directory>использует заранее проверенный локальный комплект сnative-linux.jsonилиnative-win32.json. Это не загрузка произвольного commit из main.
Клиентский пакет не устанавливает БД или службы Arkvory на компьютер администратора. Серверные зависимости устанавливаются на выбранный сервер.
Шаги мастера
- Ввести адрес, SSH-порт, пользователя и пароль либо приватный ключ с passphrase. Выбрать Linux или Windows. Для приватного репозитория указать GitHub token с доступом чтения Releases; он остаётся на компьютере администратора.
- Сверить показанный SHA-256 отпечаток SSH-ключа с доверенным источником: консолью сервера, администратором или панелью хостинга. На этапе обнаружения ключа аутентификация не выполняется. При подключении проверяется именно подтверждённый ключ.
- Мастер проверяет платформу, права и существующую установку. Для нового Arkvory ввести имя/пароль владельца и нажать «Установить и открыть доступ». Для существующего — «Открыть существующий Arkvory», без повторной установки и создания владельца.
- Дождаться проверки и нажать «Открыть Arkvory». Откроется onboarding консоли. URL
http://127.0.0.1:<порт>действует на этом компьютере, пока работает мастер и SSH-соединение.
Интерфейс доступен на русском и английском; светлая/тёмная тема следует настройке системы. Пароли не подставляются обратно в HTML. Ошибка содержит машинный код и подсказку, а не сырой вывод команд с сервера.
Требования к серверу
| Сервер | Требования |
|---|---|
| Linux x64 | Доступный SSH/SFTP, systemd, apt-get или dnf; root либо пользователь с sudo -n без запроса пароля. Интернет для пакетов БД и зависимостей. |
| Windows x64 | Доступный OpenSSH Server/SFTP, Windows PowerShell, административная учётная запись. Поддерживаемые версии и включённые зависимости — в описании нативных пакетов. |
| Существующий Arkvory | Стандартный root нативной установки и API на loopback:8080; доступ к управлению службами. |
SSH — исходный канал управления: установить или открыть его на недоступном сервере мастер не может. Ограниченная корпоративная SSH-политика должна разрешать SFTP, исполнение установщика и direct-tcpip на 127.0.0.1:8080. Парольный sudo, SSH-agent, bastion/ProxyJump, ARM и macOS пока не поддерживаются.
Используется последний опубликованный стабильный GitHub Release ProAnima/Arkvory. Его версия должна совпадать с manifest и tag, а контрольная сумма — с байтами установщика. Проверка повторяется на сервере перед запуском. При отсутствии стабильного релиза, нужных assets или доступа установка останавливается. Автообновления на сервере настраиваются существующими средствами deploy; мастер не сохраняет GitHub token для будущих обновлений.
Сеть и жизненный цикл
Локальная страница мастера и туннель привязаны только к 127.0.0.1, порты назначаются автоматически. Через SSH передаётся только API:8080, БД не пробрасывается. До 32 одновременных TCP-соединений; неактивное соединение закрывается через 120 секунд. Передача потоковая с backpressure. Туннель не заменяет промышленный reverse proxy или балансировщик для всех клиентов.
«Завершить сеанс» немедленно закрывает SSH и туннель и отменяет дальнейшее скачивание/действия мастера. Уже запущенный на сервере установщик может продолжать работу: закрытие SSH не является транзакционным откатом. Сам Arkvory после успешной установки продолжает работать под supervisor и не зависит от мастера.
Закрытие вкладки не завершает процесс мгновенно: после 30 минут без обращений сессия закрывается. Пока открыта страница статуса, она обновляется и поддерживает сеанс. Для немедленного завершения используйте кнопку. При потере SSH статус сообщает недоступность туннеля; скрытого переподключения с сохранённым паролем нет.
Готовность означает успешную проверку /health/ready на сервере, состояния worker и HTTP-доступа через туннель. Health credential не передаётся клиенту. Это не проверка внешнего DNS/TLS, резервного копирования или HA.
Ошибка и повтор
Не запускайте второй установщик параллельно. Внутри мастера повторное нажатие не создаёт вторую операцию. Локальные временные файлы удаляются после операции. При доступном SSH мастер также удаляет свой установщик и его пустой временный каталог, без рекурсивного удаления. После разрыва или ошибки очистки файл может остаться в приватном /var/tmp/arkvory-remote-<uuid> или C:/ProgramData/ArkvoryRemote-<uuid>; его можно удалить, убедившись, что установщик завершён. Корневой каталог Arkvory и данные мастер не удаляет.
При разрыве во время установки результат может быть неопределённым. Проверьте службы и журналы нативного установщика, затем откройте новый сеанс. Обнаружение installation.json означает переход в подключение к существующей установке, а не её автоматическую переустановку. Если установка завершилась, но владелец не создан, используйте процедуру восстановления через приватный recovery key из native/README. Не следует удалять installation.json или данные, чтобы заставить мастер начать заново.
Проверки и границы доверия
Мастер находится в apps/deploy; веб-консоль/API Arkvory не получают административные SSH-credentials. Локальный HTTP защищён одноразовым входом, HttpOnly/SameSite cookie, CSRF, точной проверкой Host/Origin и CSP. SSH-credentials освобождаются после подключения; остальные секреты — после завершения/ошибки. Вывод команд не попадает в UI или журналы мастера. Браузер/ОС администратора и административный SSH-аккаунт остаются доверенными.
Проверки включены в общие гейты: unit — SSH key pinning до аутентификации, SFTP, tunnel, тайм-ауты, отмена и локальная HTTP-защита; browser — шаги формы, RU/EN, темы и узкий экран; deployment — запуск собранного bundle вне workspace; native-install — клиентские пакеты и подключение по loopback SSH к реальным установленным службам Windows/Linux. Loopback SSH не заменяет приёмку на удалённом стенде с реальным OpenSSH, политиками сети и потерями связи. Эта приёмка остаётся до production.