Skip to main content
View as Markdown

Installation

You can install Sovrium on your own machine or deploy it to a cloud host in one click. Pick the path that fits where your app will run.

Prerequisites

Tables and authentication work out of the box on an embedded SQLite database — no setup required. PostgreSQL 15+ is optional and unlocks advanced features (raw SQL, vector search). Running from source requires Bun 1.3+.

Local installation

Sovrium ships as a self-contained binary, so there is no separate runtime to install. Choose the method that matches your operating system.

# Install script (macOS, Linux)
curl -fsSL https://sovrium.com/install | sh

# Homebrew (macOS, Linux)
brew install sovrium/tap/sovrium

# Scoop (Windows)
scoop bucket add sovrium https://github.com/sovrium/scoop-bucket
scoop install sovrium

# Docker
docker pull ghcr.io/sovrium/sovrium:latest

After installing, the sovrium command is available from anywhere.

Cloud installation

Run Sovrium on a managed host without provisioning a server yourself.

One-click deploy

Each button below provisions a long-running server from the Sovrium image and walks you through the setup.

Deploy on Scalingo Deploy to Render Deploy on Railway Deploy to Heroku

Each host prompts you for a few environment variables: AUTH_SECRET (required), BASE_URL (required), DATABASE_URL (optional — defaults to embedded SQLite), and SMTP_* (optional, for sending email). Render, Railway, and Heroku run the pre-built ghcr.io/sovrium/sovrium image; Scalingo deploys with the Sovrium buildpack, which downloads the released, checksum-verified binary.

Platform.sh, Fly.io, and Coolify also run Sovrium from the same image.

Vercel is not supported, because it is serverless: it offers no persistent server or container, and Sovrium needs a long-running process to serve your app and store its data.

Docker on your own server

To run Sovrium on a VPS or any host you control, start the container directly and place it behind a reverse proxy:

docker run -p 3000:3000 \
  -e AUTH_SECRET="your-secret" \
  -e BASE_URL="https://app.example.com" \
  -v ./data:/app/data \
  ghcr.io/sovrium/sovrium:latest start app.yaml

The -v flag mounts a data volume so your SQLite database and uploads survive restarts.

Verify installation

Run the help command to check that Sovrium is installed correctly:

sovrium --help

Create a config file

Sovrium reads a YAML or JSON configuration file. Create an app.yaml with the simplest valid config:

name: my-app

Database setup

Sovrium uses an embedded SQLite database by default — tables and auth work with zero configuration. Set DATABASE_URL only to choose the SQLite file location or to switch to PostgreSQL:

# Default: embedded SQLite — no DATABASE_URL needed

# Optional — choose where the SQLite file lives:
export DATABASE_URL="file:./data/app.db"

# Optional — use PostgreSQL for advanced features:
export DATABASE_URL="postgresql://user:password@localhost:5432/myapp"

Next steps

Last updated July 17, 2026

Built with Sovrium