Skip to content

Configuration

ConvoLog is configured via environment variables passed to the Docker container. Set them in your docker-compose.yml under environment:, or in a .env file alongside your Compose file.

Required variables

VariableDescription
DATABASE_URLPath to the SQLite database file. Recommended: file:/app/data/convolog.db
NEXTAUTH_SECRETA random string used to sign session tokens. Generate with openssl rand -base64 32.
NEXTAUTH_URLThe canonical public URL of your ConvoLog instance, e.g. https://convolog.example.com.

Optional variables

VariableDefaultDescription
UPLOAD_DIR/app/data/uploadsDirectory for file evidence uploads.
BACKUP_DIR/app/backupsDirectory where scheduled backups are written.
BACKUP_CRON0 2 * * *Cron expression for scheduled backups. Default: daily at 02:00 UTC.
MAX_UPLOAD_SIZE_MB25Maximum size of a single file upload in megabytes.
LOG_LEVELinfoLogging verbosity: debug, info, warn, error.
DISABLE_SIGNUPfalseSet to true to prevent new users from registering without an invite.

Example .env file

DATABASE_URL=file:/app/data/convolog.db
NEXTAUTH_SECRET=your-random-secret-here
NEXTAUTH_URL=https://convolog.example.com
BACKUP_CRON=0 3 * * *
MAX_UPLOAD_SIZE_MB=50
DISABLE_SIGNUP=true

Never commit your .env file. Add it to .gitignore.

Generating a secret

Terminal window
openssl rand -base64 32

Or with Node.js:

require('crypto').randomBytes(32).toString('base64')

Volumes

Make sure the following paths are mounted as Docker volumes so data survives container restarts:

Container pathPurpose
/app/dataSQLite database and uploads
/app/backupsScheduled backup output

Next steps