Перейти к содержимому

Windows ​

Запустить Arkvory в Windows можно тремя способами:

  • Графический установщик Arkvory-Setup-x64.exe. Рекомендуется. Он устанавливает службы Windows и отдельную базу данных PostgreSQL. Доступ в интернет не нужен.
  • Скрипт PowerShell install.ps1. Он устанавливает те же службы Windows, но использует ваш существующий сервер PostgreSQL.
  • Docker Desktop с install.ps1 -Mode compose. Только для ознакомления. См. Docker Compose.

Требования ​

  • Windows x64, сборка 10.0.17763 или новее (Windows 10 версии 1809, Windows Server 2019 или новее).
  • Учётная запись в группе «Администраторы».
  • Локальный том NTFS для данных. Сетевые папки для хранилища файлов не поддерживаются.
  • Каталог установки вне профилей пользователей и AppData. Учётная запись, под которой работает служба, должна иметь право читать каждый родительский каталог.

Установка графическим установщиком ​

  1. Скачайте Arkvory-Setup-x64.exe из GitHub Releases.
  2. Запустите файл и подтвердите запрос контроля учётных записей (UAC).
  3. Выберите язык (английский или русский) и примите лицензию.
  4. Введите данные учётной записи владельца. Имя содержит от 3 до 64 символов: латинские буквы, цифры, точка, дефис или подчёркивание. Пароль содержит от 12 до 128 символов.
  5. Дождитесь, пока программа установки подготовит базу данных, службы и учётную запись владельца.
  6. На последней странице оставьте выбранным пункт Открыть Arkvory и пройти знакомство и нажмите Завершить. Консоль откроется по адресу http://127.0.0.1:8080/console/#onboarding.

Программа установки также создаёт два ярлыка в меню «Пуск»: Arkvory (консоль) и API and CLI (страница справки консоли).

Если программа установки сообщает, что среда выполнения Microsoft требует перезагрузки, перезагрузите Windows и запустите программу снова. Существующие данные Arkvory сохраняются.

После установки автообновление выключено. Как его включить, см. в разделе Обновления.

Тихая установка ​

Для автоматического развёртывания поместите учётную запись владельца в файл JSON. Защитите файл так, чтобы читать его могли только SYSTEM и группа «Администраторы».

json
{ "name": "admin", "password": "<не менее 12 символов>" }
powershell
.\Arkvory-Setup-x64.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /OWNERFILE="C:\secure\owner.json"

Установщик удаляет файл владельца после создания учётной записи. Никогда не передавайте пароль аргументом команды. Без /OWNERFILE создайте владельца позже в консоли с помощью ключа восстановления. Если настройка не завершилась, программа установки выходит с ненулевым кодом. Не запускайте программу установки во время обновления.

Что создаёт графический установщик ​

ОбъектРасположение или значение
Файлы программыC:\Program Files\ProAnima\Arkvory
Данные, настройки и журналыC:\ProgramData\ProAnima\Arkvory (корень установки)
База данныхPostgreSQL 18.4 в database\ корня, на 127.0.0.1, на первом свободном порту из 45329-45348, исключённом из портов, которые Windows резервирует при загрузке
Консольhttp://127.0.0.1:8080/console/
Ключ восстановленияconfig\bootstrap-token.txt в корне
Задача обновленияProAnimaArkvoryUpdate в Планировщике заданий. Запускается каждую минуту от имени SYSTEM

Службы ​

Имя службыОтображаемое имяУчётная записьТип запуска
ArkvoryapiProAnima Arkvory apiNT AUTHORITY\LocalServiceАвтоматически (отложенный запуск)
ArkvoryworkerProAnima Arkvory workerNT AUTHORITY\LocalServiceАвтоматически (отложенный запуск)
ArkvorybackupProAnima Arkvory backupNT AUTHORITY\LocalServiceАвтоматически (отложенный запуск)
ArkvorydatabaseProAnima Arkvory databaseNT AUTHORITY\NetworkServiceАвтоматически

Службы работают без вошедшего пользователя. API, обработчик и агент резервного копирования используют одну учётную запись LocalService. База данных работает под NetworkService, поэтому учётная запись API не может читать файлы базы данных.

Полный доступ к корню есть только у SYSTEM и группы «Администраторы». LocalService может читать корень и изменять только data\, logs\ и папку входящих запросов на обновление. Ключ восстановления и другие файлы установщика с учётными данными доступны для чтения только SYSTEM и группе «Администраторы».

Установка через PowerShell с существующим PostgreSQL ​

Используйте этот способ, если в вашей организации уже работает PostgreSQL. Он не создаёт управляемую службу базы данных и запись в разделе Приложения.

  1. Попросите администратора базы данных создать пустую базу данных и роль, которая ею владеет. Arkvory выполняет миграции от имени этой роли.
  2. Скачайте install.ps1 из релиза и просмотрите скрипт.
  3. Откройте Windows PowerShell от имени администратора и выполните:
powershell
.\install.ps1 -AutomaticUpdates

Скрипт запросит URL подключения к PostgreSQL. Вводимый текст скрыт. Затем он скачивает Node.js 24.21.0 с nodejs.org, проверяет его SHA-256 и устанавливает последний стабильный релиз.

Вместо запроса можно передать защищённый файл JSON:

json
{ "ARKVORY_DATABASE_URL": "postgresql://arkvory:<пароль>@db.example:5432/arkvory" }
powershell
.\install.ps1 -Config C:\secure\arkvory.json

Если PowerShell блокирует скрипты, выполните powershell -ExecutionPolicy Bypass -File .\install.ps1. Это меняет политику только для этого процесса.

ПараметрЗначение
-Root <путь>Корень установки. По умолчанию: C:\ProgramData\ProAnima\Arkvory
-Version <x.y.z>Установить эту стабильную версию вместо последней
-Mode windows или composeСлужбы Windows (по умолчанию) или Docker Compose
-Engine docker или podmanДвижок контейнеров для Compose
-Config <файл>Файл JSON с настройками ARKVORY_*, включая URL базы данных
-Artifact <каталог>Установить из распакованного Arkvory-Windows.zip вместо GitHub
-AutomaticUpdatesВключить автообновление
-PinЗакрепить установленную версию

Передавайте -Root, -Config и -Artifact в виде абсолютных путей, например -Artifact $PWD.Path.

Скрипт не создаёт учётную запись владельца. Откройте http://127.0.0.1:8080/console/ на сервере, выберите Создать первого владельца и введите ключ восстановления из config\bootstrap-token.txt.

Управление службами ​

powershell
Get-Service Arkvoryapi, Arkvoryworker, Arkvorybackup, Arkvorydatabase
Restart-Service Arkvoryapi, Arkvoryworker
sc.exe qfailure Arkvoryapi

Команде управления нужен PowerShell с повышенными правами и всегда параметр --root:

powershell
$root = 'C:\ProgramData\ProAnima\Arkvory'
# Графический установщик
& 'C:\Program Files\ProAnima\Arkvory\arkvory.ps1' status --root $root
# Установка скриптом
& "$root\runtime\node-v24.21.0-win-x64\node.exe" "$root\manage.mjs" status --root $root

Выполните arkvory.ps1 help, чтобы увидеть все команды. Они описаны в разделах Настройка и Обновления.

Восстановление после сбоя ​

  • Если процесс службы остановился без вашей команды, Windows запускает его снова через 10 секунд. Счётчик сбоев сбрасывается через час.
  • Процесс, главный поток которого зависает на 60 секунд, завершается сам, и Windows запускает его снова. См. Самовосстановление.
  • Одна лишь неудачная проверка готовности не перезапускает службу (например, пока сервер завершает текущие запросы перед остановкой). Но когда база данных перестаёт отвечать, API и обработчик не могут подтвердить, что владеют хранилищем: примерно через 8 секунд они завершаются сами, и Windows запускает их снова каждые 10 секунд, пока база данных не вернётся.
  • Служба, которую вы остановили сами, остаётся остановленной, пока вы не запустите её или пока не перезагрузится Windows.

Повторный запуск графического установщика восстанавливает тип запуска и действия при сбое для служб.

Журналы ​

Расположение в корнеСодержимое
logs\Вывод API, обработчика и агента резервного копирования. Файлы ротируются при 20 МиБ; хранятся 5 старых файлов
logs\updater.logВывод задачи обновления, с той же ротацией
database\Журналы службы базы данных (arkvory-database*.log)
bootstrap.logВывод этапа настройки графического установщика

Программа установки также пишет собственный журнал во временную папку пользователя, который её запустил. API и обработчик пишут по одной записи JSON в строке. См. Мониторинг.

Удаление ​

Откройте Параметры > Приложения, выберите ProAnima Arkvory и нажмите Удалить. Программа удаления:

  1. Удаляет задачу ProAnimaArkvoryUpdate.
  2. Останавливает и удаляет службы Arkvorybackup, Arkvoryworker, Arkvoryapi и Arkvorydatabase.
  3. Удаляет исключение порта базы данных, добавленное установщиком.
  4. Удаляет файлы программы.

Она намеренно сохраняет C:\ProgramData\ProAnima\Arkvory: базу данных, все файлы, настройки и ключ восстановления. Хранилище копий она не трогает никогда. Если позже запустить программу установки той же или более новой версии, она продолжит работу с сохранёнными данными. Чтобы удалить данные, сначала сделайте резервную копию, а затем удалите папку вручную.

У установки скриптом нет программы удаления. Чтобы удалить её службы, выполните в PowerShell с повышенными правами:

powershell
$root = 'C:\ProgramData\ProAnima\Arkvory'
Unregister-ScheduledTask -TaskName ProAnimaArkvoryUpdate -Confirm:$false
foreach ($role in 'backup', 'worker', 'api') {
  $exe = "$root\service\arkvory-$role.exe"
  if ((Get-Service "Arkvory$role").Status -ne 'Stopped') { & $exe stopwait }
  & $exe uninstall
}

Docker Desktop ​

Docker Desktop — это приложение одного пользователя. Его контейнеры работают, только когда этот пользователь вошёл в систему и запущен Docker Desktop. После перезагрузки компьютера Arkvory недоступен до этого момента. Если вы устанавливаете Arkvory с Docker Desktop, включите Settings > General > Start Docker Desktop when you sign in. Установщик и команда status предупреждают, если этот параметр выключен. Для сервера, который должен запускаться без входа в систему, используйте нативные службы, описанные на этой странице.

Устранение неполадок ​

ПроблемаЧто делать
Программа установки сообщает, что настройка не завершиласьПрочитайте bootstrap.log, журнал программы установки и журналы базы данных. Не удаляйте папку базы данных
Файл database\bootstrap-started есть, а database\initialized нетСоздание базы данных прервалось. Не удаляйте кластер и не повторяйте SQL вручную. Устраните причину и выполните команду finish-install
Run installer as AdministratorЗапустите PowerShell командой Запуск от имени администратора
Use a dedicated directoryКорень уже содержит файлы. Используйте пустой каталог. Существующей установкой управляйте её командами
Node.js runtime is incomplete after extractionПроверьте карантин вашего антивируса
Another installation owns this serviceСуществуют службы установки из другого корня. Сначала удалите их

Чтобы завершить прерванную установку, не удаляя данные:

powershell
& 'C:\Program Files\ProAnima\Arkvory\arkvory.ps1' finish-install --root C:\ProgramData\ProAnima\Arkvory

Другие подсказки есть в разделе Устранение неполадок.

Arkvory · ProAnimaStudio