vaultaris /docs

Installation

Install Vaultaris using Docker, a pre-built binary, or by compiling from source.

The official image is published to GitHub Container Registry:

docker pull ghcr.io/rustlanges/vaultaris:latest

Run with the minimum required environment variables:

docker run -d \
  --name vaultaris \
  -p 8080:8080 \
  -e DATABASE_URL="postgres://user:pass@host:5432/vaultaris" \
  -e JWT_SECRET="$(openssl rand -hex 32)" \
  -e ENCRYPTION_KEY="$(openssl rand -hex 16)" \
  ghcr.io/rustlanges/vaultaris:latest

Option 2 — Docker Compose (local development)

The repository ships a docker-compose.yml that includes PostgreSQL and Redis:

git clone https://github.com/Vaultaris/vaultaris.git
cd vaultaris
cp .env.example .env  # edit as needed
docker compose up -d

Option 3 — Pre-built binary

Download the latest release from GitHub Releases:

# Linux x86_64
curl -L https://github.com/Vaultaris/vaultaris/releases/latest/download/vaultaris-linux-x86_64.tar.gz \
  | tar xz
chmod +x vaultaris
./vaultaris

The binary reads configuration from environment variables. See Configuration.

Option 4 — Build from source

Requirements: Rust ≥ 1.85, libpq (PostgreSQL client library).

git clone https://github.com/Vaultaris/vaultaris.git
cd vaultaris

# Development build
cargo build

# Optimized release build (LTO enabled — takes ~2 min)
cargo build --release

# Run
DATABASE_URL="postgres://..." JWT_SECRET="..." ./target/release/vaultaris

Option 5 — Kubernetes / Helm

See the Kubernetes guide for the official Helm chart and manifests.

Database setup

Vaultaris auto-migrates on startup — no manual sqlx migrate step needed. Ensure the database user has CREATE TABLE privileges on first run.

The minimum PostgreSQL version is 14. The uuid-ossp and pgcrypto extensions are used internally and are created automatically.

Verifying the installation

curl http://localhost:8080/health
# → {"status":"healthy","version":"0.8.0",...}

curl http://localhost:8080/.well-known/openid-configuration
# → OIDC discovery document