Skip to content
ProAnimaPublic

Latest commit

 

History

356 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProAnima Arkvory

Arkvory

English | Русский

Your own repository for builds, packages, container images and large files.

Documentation · Download · HTTP API · License

A ProAnimaStudio product. Ian Panaev is the author, copyright holder and owner of the Arkvory and ProAnimaStudio brands. Brand assets · Product identity

What it is

Arkvory is a self-hosted repository for the files your builds produce. You install it on your own server; it stores builds, packages and large assets and delivers them to the people and systems that need them: deployment agents, CI/CD pipelines, test machines, developers and game teams.

It is a standalone product with its own HTTP API, command-line client and TypeScript SDK, and it also speaks the protocols your tools already use: an OCI registry for Docker and Podman, a Git LFS server and an npm registry for the Unity Package Manager.

Features

  • Files of any size. Uploads go in parts and continue after a lost connection or a restart; downloads resume with HTTP ranges. One object can be up to about 10 TiB. Every file is checked by SHA-256.
  • Everything in repositories. Versioned UPack packages, files by path with their history, container images, Git LFS objects, npm and Unity packages — each stored as an immutable artifact.
  • Access you can explain. Accounts, groups, personal access tokens and service accounts whose keys get only the repository actions they need. Sign-ins and access changes are audited.
  • Stages and promotion. Mark a build qa, release or prod, publish it in another repository without a new upload, and let a deployment agent ask for "the newest release build in range ^1.4".
  • Metadata. Labels, text metadata, collections and attachments: manifests, SBOMs, signatures, reports.
  • Retention. Keep the last N builds of each package, set quotas and warnings, and free disk space in the background without stopping the server.
  • Backups. A backup agent copies the database and all content to another disk or a network share on a schedule, verifies the copies and restores into an empty target.
  • High availability on one site. Two or three Linux servers keep one synchronous copy of all data (DRBD, Pacemaker, mandatory fencing): when the active server fails, another takes over, and a write is acknowledged only when it is on two complete copies.
  • Mass updates without failures. When a thousand clients fetch a large update at once, whole downloads queue in order: each client learns its place and the expected start, waits instead of failing, and people in the console are served first.
  • The whole cluster in one place. Pair the other installations, mirrors and second sites with a one-time code over a pinned certificate, and see on one page whether each answers, its version, HA copies, read gateways, mirror lag and download queue.
  • Mirrors and read gateways. A second installation keeps a read-only copy of repositories and serves it when the first site is lost; extra download processes share one bandwidth budget.
  • Runs by itself. Windows services, Linux packages or Docker Compose. Services restart after a crash or a hang; signed stable updates install by hand or in a maintenance hour, behind a fresh verified backup, with rollback.
  • A console in eleven languages. English, Russian, Spanish, French, German, Portuguese, Chinese, Japanese, Korean, Hindi and Arabic, light and dark. The documentation is in the same languages.

Install

Platform Package Guide
Windows 10/11, Windows Server 2019+ (x64) Arkvory-Setup-x64.exe — a wizard with Node.js and PostgreSQL included; works offline Windows
Debian, Ubuntu, Fedora, RHEL-compatible Arkvory-amd64.deb, Arkvory-x86_64.rpm with systemd services Linux
Any host with Docker Docker Compose: API, worker, backup agent and PostgreSQL Docker

Download only from GitHub Releases and compare the SHA-256 checksums. The server listens on 127.0.0.1:8080 until you set up HTTPS. The console is at /console/.

First steps

  1. Install the server and open http://127.0.0.1:8080/console/.
  2. Create the owner account (the Windows wizard does it for you).
  3. Create a personal access token or a service account key.
  4. Upload a file and download it:
curl -T ./Setup.exe -H "Authorization: Bearer $ARKVORY_KEY" \
  http://127.0.0.1:8080/api/v1/repositories/releases/raw/builds/game/1.0/Setup.exe
curl -fL -H "Authorization: Bearer $ARKVORY_KEY" -o Setup.exe \
  http://127.0.0.1:8080/api/v1/repositories/releases/raw/builds/game/1.0/Setup.exe

The full walkthrough: Quick start.

Clients and protocols

Way Use it for
Web console Browse, upload and download in a browser; manage users, keys, storage, backups and updates
arkvoryctl CI scripts: resumable transfers, packages, promotion, backups; --json output
TypeScript SDK Your own tools in Node.js or a browser
HTTP API Integrations in any language; OpenAPI at /api/v1/openapi.json
Container registry Docker, Podman, Helm charts, ORAS
Git LFS Large files of git repositories, file locking for Unity and Unreal
npm registry Unity Package Manager scoped registries, npm publish
Raw files One curl -T or PowerShell request by path

Documentation

proanima.github.io/Arkvory — installation, everyday work, clients and protocols, operation (backups, mirrors, the high-availability cluster, storage, monitoring, security, troubleshooting) and the HTTP API reference generated from the contract the server enforces. With search, in the eleven languages of the console. The engineering documents (architecture, contracts, decisions) are in Russian in docs/ and in the site's developers' section.

Limits

A standalone installation is one server with PostgreSQL and a local content directory: if it stops, clients wait until it is back. A high-availability cluster needs Linux servers on one site with DRBD 9, Pacemaker and a fence device for each server; Windows and Docker Compose stay standalone. Neither protects against the loss of a site: use backups and, where needed, a mirror on a second site. Content storage and the backup vault are local directories; S3 is not implemented. A new backup vault is encrypted by default, with a recovery kit kept off the server.

For developers

Requires Node.js 24 LTS, npm 11 and PostgreSQL 18 (Docker is optional).

git clone https://github.com/ProAnima/Arkvory.git
cd Arkvory
npm ci
npm run build
npm run gate -- quick

Running from source is for development; servers are installed from the release packages. Rules for changes: AGENTS.md and CONTRIBUTING.md; layers and boundaries: ARCHITECTURE; checks: ENGINEERING_GATES; decisions: ADR; the documentation site and languages: WIKI, LOCALIZATION. Security reports: SECURITY.md.

License and ownership

© 2026 Ian Panaev (Ян Панаев), ProAnimaStudio.

ProAnima Arkvory is free of charge for everyone, companies included, and its source code is open for reading. It is not open source: you may use it and change it within your organization, but you may not distribute copies or forks, sell it or offer it as a service. When you publicly describe a system built on Arkvory, name the source: "ProAnima Arkvory by ProAnimaStudio (Ian Panaev), https://github.com/ProAnima/Arkvory". Copies come only from official sources.

Terms: license (на русском; the Russian text prevails), notice: NOTICE.md, model: LICENSING. Third-party components retain their own licenses.

Releases

Packages

Contributors

Languages