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

Auvyra

Environment Variables

Every setting Auvyra reads from its environment.

pnpm env:generate writes a .env with secure values. Invalid values stop Auvyra with a message naming the variable, never its value.

VariableRequiredDefaultPurpose
DATABASE_PROVIDERNomongodbmongodb, postgresql, mysql, mariadb or sqlite
DATABASE_URLYesConnection string. Docker Compose sets this for you
ENCRYPTION_KEYYes64 hex characters. Encrypts stored API keys and your email password, and signs links in emails
SETUP_TOKENYesAt least 24 characters. Unlocks /setup
APP_URLNohttp://localhost:3000Public address. https:// enables secure cookies
UPLOADS_DIRNodata/uploadsWhere Media Library files are stored. Docker Compose sets this
TRUST_PROXYNofalseTrust X-Forwarded-For for rate limiting
AZURACAST_ALLOW_PRIVATE_NETWORKSNofalseAllow AzuraCast, and webhooks, on private addresses

Docker Compose also reads:

VariableDefaultPurpose
MONGO_ROOT_PASSWORDPassword for the bundled MongoDB
POSTGRES_PASSWORDPassword for the bundled PostgreSQL
MYSQL_PASSWORD and MYSQL_ROOT_PASSWORDPasswords for the bundled MySQL
MARIADB_PASSWORD and MARIADB_ROOT_PASSWORDPasswords for the bundled MariaDB
AUVYRA_PORT3000Port published on the host

NEXT_PUBLIC_AUVYRA_URL is read at build time and sets where the Powered by Auvyra credit links to. It defaults to https://auvyra.org.

Generating secrets by hand

If you do not have Node.js on your server, copy .env.example to .env and create each secret with OpenSSL:

openssl rand -hex 32   # ENCRYPTION_KEY
openssl rand -hex 24   # SETUP_TOKEN and each database password

Protect ENCRYPTION_KEY