Skip to Content
🎉 TestoQA 1.0 is released
DocumentationGetting StartedConfigure Environment Variables

Setup Environment Variables

TestoQA uses environment variables to configure the application for different environments such as local, development, staging, and production.


Create your environment file

Copy the example file and customize it:

cp .env.example .env

Example .env file

# -------------------------------------------------- # App # -------------------------------------------------- APP_NAME=TestoQA APP_ENV=development # Base URL (used on both server & client) NEXT_PUBLIC_BASE_URL=http://localhost:3000 # -------------------------------------------------- # Database # -------------------------------------------------- # Docker / local Postgres example DATABASE_URL=postgres://<user>:<password>@<host>:5432/<database> # -------------------------------------------------- # Authentication # -------------------------------------------------- # Generate using: openssl rand -base64 32 AUTH_SECRET= AUTH_URL=http://localhost:3000/api/auth # Admin login password (default: teamtesto) TEAM_TESTO_ADMIN_PASSWORD= # -------------------------------------------------- # Execution Status Configuration # -------------------------------------------------- EXECUTION_STATUS_LIST=pending,passed,failed,skipped,blocked DEFAULT_EXECUTION_STATUS=pending SUCCESSFUL_EXECUTION_STATUS_LIST=passed UNSUCCESSFUL_EXECUTION_STATUS_LIST=failed,blocked # -------------------------------------------------- # OAuth Providers (optional) # -------------------------------------------------- AUTH_GOOGLE_ID= AUTH_GOOGLE_SECRET= AUTH_GITHUB_ID= AUTH_GITHUB_SECRET= # -------------------------------------------------- # SMTP (Email) # -------------------------------------------------- SMTP_HOST= SMTP_PORT= SMTP_USER= SMTP_PASS= SMTP_SECURE=false SMTP_FROM="TestoQA <noreply@teamtesto.com>" # -------------------------------------------------- # Pusher (Realtime updates) # -------------------------------------------------- PUSHER_APP_ID= NEXT_PUBLIC_PUSHER_APP_KEY= PUSHER_APP_SECRET= NEXT_PUBLIC_PUSHER_APP_CLUSTER= PUSHER_DEBUG=false

Environment Variable Details


APP_ENV

Defines the current runtime environment.

Common values:

  • development
  • staging
  • production
  • test
APP_ENV=production

Used to toggle environment-specific behavior.


APP_NAME

Human-readable application name.

APP_NAME=TestoQA

NEXT_PUBLIC_BASE_URL

Base URL of the application.

NEXT_PUBLIC_BASE_URL=http://yourdomain.com

⚠️ Variables prefixed with NEXT_PUBLIC_ are exposed to the browser.


Database

DATABASE_URL

PostgreSQL connection string.

DATABASE_URL=postgres://<user>:<password>@<host>:5432/<database>

Docker example (from docker-compose.yml):

DATABASE_URL=postgres://postgres:postgres@postgres:5432/testoqa

Authentication

AUTH_SECRET

Secret key used by the authentication system.

Generate using:

openssl rand -base64 32

Works on:

  • Linux
  • macOS
  • Windows (WSL or Git Bash)

Windows users without OpenSSL can generate one online: 👉 https://generate-secret.vercel.app/32 


AUTH_URL

API route handling authentication callbacks.

AUTH_URL=http://yourdomain.com/api/auth

TEAM_TESTO_ADMIN_PASSWORD

Password for the default admin account.

TEAM_TESTO_ADMIN_PASSWORD=your-secure-password

🔐 Change this in production


Execution Status Configuration

Controls how test execution results are grouped.

VariableDescription
EXECUTION_STATUS_LISTAll allowed execution statuses
DEFAULT_EXECUTION_STATUSDefault status for new executions
SUCCESSFUL_EXECUTION_STATUS_LISTStatuses treated as successful
UNSUCCESSFUL_EXECUTION_STATUS_LISTStatuses treated as failed

Any execution status not listed in EXECUTION_STATUS_LIST is treated as custom or undefined.


OAuth Providers (Optional)

Enable social login providers.

Google

AUTH_GOOGLE_ID= AUTH_GOOGLE_SECRET=

GitHub

AUTH_GITHUB_ID= AUTH_GITHUB_SECRET=

SMTP (Email Configuration)

Used for transactional emails (password reset, notifications, etc.).

SMTP_HOST=smtp.yourprovider.com SMTP_PORT=587 SMTP_USER=your-user SMTP_PASS=your-password SMTP_SECURE=false SMTP_FROM="TestoQA <noreply@teamtesto.com>"

Pusher (Realtime Features)

Used for realtime updates and live execution status.

PUSHER_APP_ID= NEXT_PUBLIC_PUSHER_APP_KEY= PUSHER_APP_SECRET= NEXT_PUBLIC_PUSHER_APP_CLUSTER= PUSHER_DEBUG=false

⚠️ NEXT_PUBLIC_PUSHER_APP_KEY and NEXT_PUBLIC_PUSHER_APP_CLUSTER are exposed to the client.

Last updated on