Installation
This guide explains how to install and run WrightTest from the official GitHub repository.
WrightTest is a source-available self-hosted application for recording, running, scheduling, and debugging Playwright-based browser checks.
Docker-first installation
Use this path if you want to start WrightTest locally without setting up the application code on the host.
Requirements
- Git
- Docker
- Docker Compose
- A modern browser
Clone the repository
git clone https://github.com/AlexFilippov-it/wrighttest.git
cd wrighttestConfigure environment variables
Create a local environment file from the example file:
cp .env.example .envStart the stack
docker compose up --buildIf you want to run it in the background:
docker compose up --build -dOpen WrightTest
In most local setups, open:
http://localhost:5173Check health endpoints
The backend exposes health endpoints that can help confirm the API and database are working.
curl http://localhost:3000/health
curl http://localhost:3000/health/dbIf your backend is exposed on a different port, use that port instead.
Service names
The Docker Compose setup uses these services:
frontendbackendpostgresredisnovnc
Architecture note
In the current Docker Compose setup, queue worker and scheduler logic run inside the backend process. There is no separate worker container.
Local development installation
Use this path if you are developing WrightTest itself outside the Docker-first flow.
Requirements
- Node.js 20 or newer
- pnpm
- Docker services if you need backend, database, or Redis locally
Typical workflow
pnpm install
pnpm devIf you also need the Docker stack for backend, database, or Redis:
docker compose up --buildPlaywright browsers
In the Docker-first setup, Chromium is installed inside the backend image. You normally do not need to install Playwright browsers on the host.
Only use pnpm exec playwright install if you are running Playwright directly on the host during local development.
Verify the installation
After opening the application, check that you can:
- Open the Dashboard page
- Open the Projects page
- Create a project
- Create an environment with
BASE_URL - Create a browser check
- Run the check manually
- Open the run result
- See screenshots or trace data if the run completed successfully
A basic first check can use:
BASE_URL=https://playwright.devThen create a check with:
Start URL: {{BASE_URL}}Stop the application
To stop the running containers:
docker compose downTo stop and remove volumes, use this carefully:
docker compose down -vRemoving volumes may delete local database data.
Next step
After installation, continue with Quick start.