Skip to content

Удалённая установка 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 на компьютер администратора. Серверные зависимости устанавливаются на выбранный сервер.

Шаги мастера ​

  1. Ввести адрес, SSH-порт, пользователя и пароль либо приватный ключ с passphrase. Выбрать Linux или Windows. Для приватного репозитория указать GitHub token с доступом чтения Releases; он остаётся на компьютере администратора.
  2. Сверить показанный SHA-256 отпечаток SSH-ключа с доверенным источником: консолью сервера, администратором или панелью хостинга. На этапе обнаружения ключа аутентификация не выполняется. При подключении проверяется именно подтверждённый ключ.
  3. Мастер проверяет платформу, права и существующую установку. Для нового Arkvory ввести имя/пароль владельца и нажать «Установить и открыть доступ». Для существующего — «Открыть существующий Arkvory», без повторной установки и создания владельца.
  4. Дождаться проверки и нажать «Открыть 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.

Arkvory · ProAnimaStudio