Skip to content

Configuration Reference

All Testrium settings are controlled via environment variables. Set them in your .env file when using Docker Compose.

Database

VariableDefaultDescription
MYSQL_DATABASEtestriumDatabase name
MYSQL_USERtestriumDatabase user
MYSQL_PASSWORDtestrium123Change this
MYSQL_ROOT_PASSWORDrootpasswordChange this

Security

VariableDefaultDescription
JWT_SECRET(insecure default)Required. Min 32 chars. Generate with openssl rand -hex 32
JWT_EXPIRATION86400000Token expiry in ms (default: 24 hours)
JIRA_ENCRYPTION_KEYTestriumJiraKey1Must be exactly 16 characters

Admin Account

VariableDefaultDescription
ADMIN_EMAILadmin@testrium.comInitial admin login email
ADMIN_PASSWORDAdmin@123Initial admin password — change after first login

Application

VariableDefaultDescription
APP_PORT8080Host port to expose
CLIENT_NAMETestriumApp branding name
REGISTRATION_ENABLEDtrueAllow new user self-registration
EMAIL_VERIFICATION_REQUIREDfalseRequire email verification on signup
CLIENT_ALLOWED_DOMAINS(empty = all)Restrict signups to specific email domains (comma-separated, e.g. company.com)

Email / SMTP (Optional)

Required only if EMAIL_VERIFICATION_REQUIRED=true or you want password reset emails.

VariableDefaultDescription
MAIL_SMTP_HOSTsmtp.gmail.comSMTP server host
MAIL_SMTP_PORT587SMTP port
MAIL_SMTP_USERNAME(empty)SMTP username / email
MAIL_SMTP_PASSWORD(empty)SMTP password or app password

Example .env

bash
# Database
MYSQL_ROOT_PASSWORD=str0ng_r00t_pass
MYSQL_DATABASE=testrium
MYSQL_USER=testrium
MYSQL_PASSWORD=str0ng_db_pass

# Security
JWT_SECRET=b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4

# Admin
ADMIN_EMAIL=admin@mycompany.com
ADMIN_PASSWORD=MySecurePass@2024

# App
APP_PORT=8080
CLIENT_NAME=My QA Team
REGISTRATION_ENABLED=true