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. Учётная запись, под которой работает служба, должна иметь право читать каждый родительский каталог.
Установка графическим установщиком
- Скачайте
Arkvory-Setup-x64.exeиз GitHub Releases. - Запустите файл и подтвердите запрос контроля учётных записей (UAC).
- Выберите язык (английский или русский) и примите лицензию.
- Введите данные учётной записи владельца. Имя содержит от 3 до 64 символов: латинские буквы, цифры, точка, дефис или подчёркивание. Пароль содержит от 12 до 128 символов.
- Дождитесь, пока программа установки подготовит базу данных, службы и учётную запись владельца.
- На последней странице оставьте выбранным пункт Открыть Arkvory и пройти знакомство и нажмите Завершить. Консоль откроется по адресу
http://127.0.0.1:8080/console/#onboarding.
Программа установки также создаёт два ярлыка в меню «Пуск»: Arkvory (консоль) и API and CLI (страница справки консоли).
Если программа установки сообщает, что среда выполнения Microsoft требует перезагрузки, перезагрузите Windows и запустите программу снова. Существующие данные Arkvory сохраняются.
После установки автообновление выключено. Как его включить, см. в разделе Обновления.
Тихая установка
Для автоматического развёртывания поместите учётную запись владельца в файл JSON. Защитите файл так, чтобы читать его могли только SYSTEM и группа «Администраторы».
{ "name": "admin", "password": "<не менее 12 символов>" }.\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 |
Службы
| Имя службы | Отображаемое имя | Учётная запись | Тип запуска |
|---|---|---|---|
Arkvoryapi | ProAnima Arkvory api | NT AUTHORITY\LocalService | Автоматически (отложенный запуск) |
Arkvoryworker | ProAnima Arkvory worker | NT AUTHORITY\LocalService | Автоматически (отложенный запуск) |
Arkvorybackup | ProAnima Arkvory backup | NT AUTHORITY\LocalService | Автоматически (отложенный запуск) |
Arkvorydatabase | ProAnima Arkvory database | NT AUTHORITY\NetworkService | Автоматически |
Службы работают без вошедшего пользователя. API, обработчик и агент резервного копирования используют одну учётную запись LocalService. База данных работает под NetworkService, поэтому учётная запись API не может читать файлы базы данных.
Полный доступ к корню есть только у SYSTEM и группы «Администраторы». LocalService может читать корень и изменять только data\, logs\ и папку входящих запросов на обновление. Ключ восстановления и другие файлы установщика с учётными данными доступны для чтения только SYSTEM и группе «Администраторы».
Установка через PowerShell с существующим PostgreSQL
Используйте этот способ, если в вашей организации уже работает PostgreSQL. Он не создаёт управляемую службу базы данных и запись в разделе Приложения.
- Попросите администратора базы данных создать пустую базу данных и роль, которая ею владеет. Arkvory выполняет миграции от имени этой роли.
- Скачайте
install.ps1из релиза и просмотрите скрипт. - Откройте Windows PowerShell от имени администратора и выполните:
.\install.ps1 -AutomaticUpdatesСкрипт запросит URL подключения к PostgreSQL. Вводимый текст скрыт. Затем он скачивает Node.js 24.21.0 с nodejs.org, проверяет его SHA-256 и устанавливает последний стабильный релиз.
Вместо запроса можно передать защищённый файл JSON:
{ "ARKVORY_DATABASE_URL": "postgresql://arkvory:<пароль>@db.example:5432/arkvory" }.\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.
Управление службами
Get-Service Arkvoryapi, Arkvoryworker, Arkvorybackup, Arkvorydatabase
Restart-Service Arkvoryapi, Arkvoryworker
sc.exe qfailure ArkvoryapiКоманде управления нужен PowerShell с повышенными правами и всегда параметр --root:
$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 и нажмите Удалить. Программа удаления:
- Удаляет задачу
ProAnimaArkvoryUpdate. - Останавливает и удаляет службы
Arkvorybackup,Arkvoryworker,ArkvoryapiиArkvorydatabase. - Удаляет исключение порта базы данных, добавленное установщиком.
- Удаляет файлы программы.
Она намеренно сохраняет C:\ProgramData\ProAnima\Arkvory: базу данных, все файлы, настройки и ключ восстановления. Хранилище копий она не трогает никогда. Если позже запустить программу установки той же или более новой версии, она продолжит работу с сохранёнными данными. Чтобы удалить данные, сначала сделайте резервную копию, а затем удалите папку вручную.
У установки скриптом нет программы удаления. Чтобы удалить её службы, выполните в 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 | Существуют службы установки из другого корня. Сначала удалите их |
Чтобы завершить прерванную установку, не удаляя данные:
& 'C:\Program Files\ProAnima\Arkvory\arkvory.ps1' finish-install --root C:\ProgramData\ProAnima\ArkvoryДругие подсказки есть в разделе Устранение неполадок.