QA Flow’s server is configured entirely through environment variables, making it straightforward to deploy in Docker, Docker Compose, or any container orchestration platform without modifying source files. The table below covers every supported variable along with its default value and whether it is required for a production deployment.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/davidG97/qa-flow/llms.txt
Use this file to discover all available pages before exploring further.
Variable Reference
| Variable | Description | Default | Required |
|---|---|---|---|
PORT | TCP port the Express server listens on | 3001 | No |
JWT_SECRET | Secret used to sign and verify JWT authentication tokens | change-me-in-production | Yes (production) |
DATABASE_URL | Prisma connection URL for the database | file:/app/data/qa-flow.db | No |
TURSO_AUTH_TOKEN | Authentication token for a Turso libsql cloud database | — | Conditional |
CDP_URL | Chrome DevTools Protocol URL for a remote browser connection | — | No |
Variable Details
PORT
Sets the port the QA Flow server binds to inside the container. The default is
3001. When mapping ports in Docker, make sure the host port in -p HOST:3001 matches the value you expose outside the container — the internal container port should stay 3001.JWT_SECRET
Used to sign every authentication token issued by the server. Any string works in local development, but a production deployment must use a randomly generated secret of at least 32 characters. When you start QA Flow via
npx @davidg97/qa-flow, a secure secret is generated automatically for that session.DATABASE_URL
A Prisma-compatible connection string. The default points to a local SQLite file at
/app/data/qa-flow.db inside the container. Switching to Turso or PostgreSQL is done by changing this value — see the Database configuration guide for full details.TURSO_AUTH_TOKEN
Only needed when
DATABASE_URL points to a Turso libsql cloud endpoint (i.e., starts with libsql://). Leave this unset when using SQLite or PostgreSQL.CDP_URL
Optional endpoint for a Chrome instance started with
--remote-debugging-port. When set at the server level, it becomes the default CDP URL for all projects that do not override it in their own settings. Useful when running QA Flow in Docker and wanting tests to execute in a visible browser on the host.How to Set Variables
- Docker Run
- Docker Compose
- Local Development
Pass each variable using the For a Turso-backed deployment:
-e flag:Example .env File
server/.env
Security Notes
TURSO_AUTH_TOKEN is only required when DATABASE_URL starts with libsql:// (i.e., when pointing at a Turso cloud instance). It is not needed for local SQLite files or PostgreSQL connections.