For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuration

How a self-hosted TestVibe is configured: environment variables only, with secret-file support. The required values and the optional integrations.

A self-hosted TestVibe is configured entirely from the environment — there is no configuration file to edit. You set values in the bundle's .env file (or inject them as container environment variables), and the compose stack wires them into the right services.

The Configuration Model

  • Environment only. Everything the app needs comes from environment variables. The .env template documents the required values and the common optional ones.

  • Secret files. Any secret can instead be provided as a file by setting {NAME}_FILE to a mounted path (Docker or Kubernetes secrets). The file's contents are used — handy when you don't want secrets in .env.

  • Disabled-by-default optionals. Any optional integration you leave unset is simply switched off; the app still runs.

Required Values

These are the values you must set before the stack will start:

Value
Purpose

Database password

The PostgreSQL password, shared by the database, the schema job, and the app.

Object-storage signing key

Signs the short-lived read/write URLs the app and runner use for artifacts.

Object-storage admin key

Authenticates the app's server-to-server calls to the object store.

Runner key

Shared secret so only your app can dispatch test runs to the runner.

Public base URL

The URL users reach the app at — also used for OAuth callbacks and webhooks.

The database, object-storage, and runner wiring (which provider, internal URLs) is already set by the compose file. You only supply the secrets and your public URL.

Optional Integrations

Set these only if you want the feature. Unset means the feature is off and the app still runs.

Area
What it enables

GitHub / Google sign-in

Social sign-in. Without it, accounts are local email/password.

AI providers

Test generation and vision compare. Hosted Claude/OpenAI keys, or a local model — see AI models.

Email

Verification and password-reset emails. Without it, those links are written to the app's logs instead of sent.

Source repositories

Connecting GitHub/GitLab repos as a project's source code.

Billing Is Off On-Prem

The cloud SaaS meters usage (session-seconds and AI tokens) and bills via Stripe. On a self-hosted instance, credit gating and token metering are disabled — there are no credits to buy and nothing is metered. Your only cost controls are your own AI provider's usage and the infrastructure you run.

Last updated

Was this helpful?