Обзор
ProAnima Arkvory — это репозиторий артефактов сборки и файлов, который вы устанавливаете на собственный сервер. Он хранит файлы, которые создают ваши сборки, и доставляет их людям и системам, которым они нужны: агентам развёртывания, конвейерам CI/CD, тестовым машинам и разработчикам.
Arkvory бесплатен для всех, включая компании. Его исходный код открыт для чтения, но это не open source. Использовать и изменять Arkvory внутри своей организации можно. Распространять копии, продавать его или предлагать как услугу нельзя. См. лицензию.
Для кого
- Инженеры CI/CD, которым нужно одно место, чтобы публиковать сборки, находить сборку по версии или стадии и скачивать её в задаче развёртывания.
- Администраторы, которым нужен сервис хранения на одном сервере: он сам перезапускается, сам делает резервные копии и сам обновляется.
- Игровые студии, работающие с Unity или Unreal Engine. Arkvory хранит большие бинарные ресурсы через Git LFS, пакеты Unity — через реестр npm, а результаты сборок размером в десятки гигабайт — как обычные артефакты.
- Команды с несколькими площадками, которым нужна копия репозитория только для чтения рядом с теми, кто скачивает из неё файлы.
Что хранится
Всё хранится в репозиториях. Один репозиторий может одновременно содержать несколько видов содержимого:
| Содержимое | Как с ним работать |
|---|---|
| Артефакты (любой файл) | Загрузка через консоль, клиент командной строки, SDK или HTTP API |
| Пакеты UPack | Пакеты с версиями: группа, имя и версия SemVer. См. Пакеты. |
| Файлы по пути | Путь вроде builds/game/1.4/Setup.exe, который хранит все прежние версии. См. Файлы и пути и Обычные файлы. |
| Образы контейнеров | Реестр OCI для Docker, Podman, Helm и ORAS. См. Образы контейнеров. |
| Объекты Git LFS | Сервер Git LFS с блокировкой файлов. См. Git LFS. |
| Пакеты npm и Unity | Реестр npm, который может использовать Unity Package Manager. См. Unity и npm. |
Каждый сохранённый файл — это неизменяемый артефакт с контрольной суммой SHA-256. Новое содержимое никогда не заменяет старые байты, а создаёт новый артефакт. См. Основные понятия.
Основные возможности
- Большие файлы. Файлы загружаются по частям, и загрузка может продолжиться после сбоя сети или перезапуска. Один объект может весить до 10 ТиБ. Скачивание поддерживает HTTP-диапазоны, поэтому тоже может продолжаться.
- Управление доступом. Учётные записи пользователей, группы, персональные токены доступа и сервисные учётные записи с ключами. Каждый ключ получает только те действия в репозиториях, которые ему нужны.
- Стадии и продвижение. Отметьте сборку стадией
qa,releaseилиprodлибо опубликуйте её в другом репозитории без повторной загрузки. Агент развёртывания может запросить «самую новую сборку со стадиейreleaseв диапазоне^1.4». - Метаданные. Метки, текстовые метаданные, коллекции и вложения: манифесты, SBOM, подписи.
- Правила хранения. Оставляйте последние N сборок каждого пакета, задавайте квоты и удаляйте старое содержимое в фоне.
- Резервные копии. Агент резервного копирования копирует базу данных и всё содержимое в хранилище копий на другом диске или в NAS по ежедневному расписанию, которое включает администратор, и проверяет копии.
- Зеркала. Вторая установка может хранить копию репозитория только для чтения и отдавать её, когда основной сервер недоступен.
- Шлюзы чтения. Дополнительные процессы скачивания на том же общем хранилище делят общий лимит скачивания.
- Самовосстановление. Службы перезапускаются после сбоя или зависания. Долгие передачи могут продолжиться после перезапуска.
- Обновления. Сервер проверяет подписанные стабильные релизы, которые ProAnimaStudio одобряет в своём хабе. Вы устанавливаете их вручную или автоматически в час обслуживания и можете вернуться к предыдущей версии.
- Веб-консоль. Светлая и тёмная темы, одиннадцать языков: английский, русский, испанский, французский, немецкий, португальский, китайский, японский, корейский, хинди и арабский (справа налево). Документация доступна на тех же языках. См. Веб-консоль.
Как это работает
Arkvory работает на одном сервере. Каталог хранится в PostgreSQL, содержимое — в локальной папке. Вместе работают три службы:
| Служба | Назначение |
|---|---|
| API | HTTP-сервер: API, консоль и реестры. Также выполняет правила хранения и физическую очистку. |
| Обработчик (worker) | Фоновые задания: завершение больших загрузок и синхронизация зеркал |
| Агент резервного копирования | Резервное копирование по расписанию в хранилище копий |
Установить Arkvory можно тремя способами:
| Платформа | Установщик | Подробности |
|---|---|---|
| Windows 10/11, Windows Server | Arkvory-Setup-x64.exe | Мастер установки. Включает Node.js и PostgreSQL и работает без интернета. Службы работают без вошедшего пользователя. См. Windows. |
| Linux | Arkvory-amd64.deb, Arkvory-x86_64.rpm | Пакеты для apt и dnf со службами systemd. См. Linux. |
| Docker | Docker Compose | API, обработчик, агент резервного копирования и PostgreSQL в контейнерах. См. Docker. |
По умолчанию сервер слушает только 127.0.0.1:8080. Прежде чем к нему подключатся другие машины, настройте HTTPS.
Обычная установка — это один сервер: если он остановился, клиенты ждут, пока он вернётся. В Linux кластер высокой доступности из двух или трёх серверов подменяет отказавший сервер. Используйте резервные копии и, если нужно, зеркала на второй площадке.
Что дальше
- Быстрый старт: установите Arkvory и загрузите первый файл.
- Основные понятия: слова, которые используются в остальной документации.
- Установка: требования и варианты для каждой платформы.
- Клиент командной строки: работа с Arkvory из скриптов и CI.
- Резервные копии: защитите данные, прежде чем переходить в рабочую эксплуатацию.