Private testing started on 6 November 2026. Got an invite code? Sign up here

Auvyra

SQLite Setup

Run Auvyra with no separate database server.

SQLite is fully supported. It passes the same contract test suite as MongoDB, and every Auvyra feature works the same on every engine. Your whole database is one file, so there is no database server to install or look after.

Choose it for a small station on one server. If you expect heavy traffic, or a busy newsletter list, use one of the other engines. SQLite writes one change at a time, and that file must sit on a disk attached to the server, not a network share.

With Docker Compose

Use the SQLite Compose file instead of the default one:

node scripts/generate-env.mjs
docker compose -f docker-compose.sqlite.yml up -d --build

Use the same -f docker-compose.sqlite.yml for every later docker compose command, such as logs and down.

Your database and uploads live together in one Docker volume, mounted at /data. If you already have a .env, running the script again adds anything it lacks and changes nothing else.

Your own server

Set these in .env, using a full path to a folder Auvyra can write to:

DATABASE_PROVIDER=sqlite
DATABASE_URL=file:/var/lib/auvyra/auvyra.sqlite

Auvyra creates the file and its folder. Three files appear side by side while it runs, because SQLite keeps recent changes in auvyra.sqlite-wal. Keep them together.

Check the connection

pnpm db:init

A success prints the SQLite version. Tables are also created automatically when Auvyra starts.

Versions

SQLite comes with Node.js, so there is nothing to install. Node.js still labels this module experimental, so your logs may show an ExperimentalWarning when Auvyra starts. That is expected.

Moving between engines