Skip to content

Overview ​

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

Arkvory is free for everyone, including companies. Its source code is open for reading, but it is not open source. You may use and change it inside your organization. You may not distribute copies, sell it or offer it as a service. See the license.

Who it is for ​

  • CI/CD engineers who need one place to publish builds, find a build by version or stage, and download it in a deployment job.
  • Administrators who want a storage service that runs on one server, restarts by itself, makes its own backups and updates itself.
  • Game studios that work with Unity or Unreal Engine. Arkvory stores large binary assets through Git LFS, Unity packages through an npm registry, and build outputs of tens of gigabytes.
  • Teams with several sites that want a read-only copy of a repository near the people who download from it.

What it stores ​

Everything is kept in repositories. A repository can hold several kinds of content at the same time:

ContentHow you work with it
Artifacts (any file)Upload with the console, the command-line client, the SDK or the HTTP API
UPack packagesVersioned packages with a group, a name and a SemVer version. See Packages.
Files by pathA path such as builds/game/1.4/Setup.exe that keeps every earlier version. See Files and paths and Raw files.
Container imagesAn OCI registry for Docker, Podman, Helm and ORAS. See Container images.
Git LFS objectsA Git LFS server with file locking. See Git LFS.
npm and Unity packagesAn npm registry that the Unity Package Manager can use. See Unity and npm.

Each stored file is an immutable artifact with a SHA-256 checksum. New content never replaces old bytes; it creates a new artifact. See Concepts.

Main capabilities ​

  • Large files. Uploads are sent in parts and can continue after a network failure or a restart. One object can be up to about 10 TiB. Downloads support HTTP ranges, so they can continue too.
  • Access control. User accounts, groups, personal access tokens and service accounts with keys. Each key gets only the repository actions it needs.
  • Stages and promotion. Mark a build as qa, release or prod, or publish it in another repository without a new upload. A deployment agent can ask for "the newest release build in range ^1.4".
  • Metadata. Labels, text metadata, collections and attached files such as manifests, SBOMs and signatures.
  • Retention. Keep the last N builds of each package, set quotas, and remove old content in the background.
  • Backups. A backup agent copies the database and all content into a vault on another disk or NAS, on a daily schedule that an administrator turns on, and verifies the copies.
  • Mirrors. A second installation can keep a read-only copy of a repository and serve it when the main server is not available.
  • Read gateways. Extra download processes on the same shared storage share one download budget.
  • Self-healing. The services restart after a crash or a hang. Long transfers can continue after the restart.
  • Updates. The server checks for signed stable releases that ProAnimaStudio approves in its hub. It installs them by hand or automatically in a maintenance hour, and can return to the previous version.
  • Web console. Light and dark themes, in eleven languages: English, Russian, Spanish, French, German, Portuguese, Chinese, Japanese, Korean, Hindi and Arabic (right to left). This documentation is in the same languages. See The web console.

How it runs ​

Arkvory runs on one server. It uses PostgreSQL for the catalog and a local directory for the content. Three services work together:

ServicePurpose
APIThe HTTP server: the API, the console and the registries. It also runs retention and physical cleanup.
WorkerBackground jobs: finishing large uploads and synchronizing mirrors
Backup agentScheduled backups into the vault

You can install it in three ways:

PlatformInstallerDetails
Windows 10/11, Windows ServerArkvory-Setup-x64.exeA setup wizard. It includes Node.js and PostgreSQL and works without internet. The services run without a signed-in user. See Windows.
LinuxArkvory-amd64.deb, Arkvory-x86_64.rpmPackages for apt and dnf, with systemd services. See Linux.
DockerDocker ComposeThe API, worker, backup agent and PostgreSQL in containers. See Docker.

By default, the server listens only on 127.0.0.1:8080. Before other machines connect, set up HTTPS.

A standard installation is one server: if it stops, clients wait until it is back. On Linux, a high availability cluster of two or three servers takes over when one fails. Use backups and, if needed, mirrors on a second site.

Where to go next ​

  1. Quick start: install Arkvory and upload your first file.
  2. Concepts: the words that the rest of the documentation uses.
  3. Installation: requirements and options for each platform.
  4. Command-line client: use Arkvory from scripts and CI.
  5. Backups: protect your data before you go to production.

Arkvory · ProAnimaStudio