Skip to Content
Self-HostingQuick Start

Quick Start

Get Rhesis running locally in under 5 minutes. This setup is for local testing only.

Local Development Only

This configuration is NOT suitable for production. It uses generated secrets and enables local authentication bypass (QUICK_START=true).

Terminal
git clone https://github.com/rhesis-ai/rhesis.git
cd rhesis

# pulls prebuilt images from GHCR
./rh start

# build backend, worker, and frontend images locally instead:
./rh start --build

Default Access

Once running, access the platform at:

ServiceURLCredentials
Frontendhttp://localhost:3000Auto-login (no credentials needed)
Backend APIhttp://localhost:8080/docsAPI documentation

Connect a Model

Rhesis needs a language model to generate tests and evaluate results. Until one works, the app opens on a Connect a model step instead of the dashboard. Pick one of its two options:

  • Use a Rhesis API key runs on the models hosted by Rhesis. Get a key at app.rhesis.ai/tokens  and paste it in.
  • Add your own model connects a provider account (OpenAI, Anthropic, Gemini, and others) or a local model (Ollama, vLLM, LiteLLM proxy). See Models for the connection fields.

The step closes as soon as the model works. No restart is needed.

./rh start also asks for a Rhesis API key while .env.docker.local has none. A key entered there is saved as RHESIS_API_KEY in .env.docker.local, and the app skips the step. To change that key later, edit the file and run ./rh restart.

Evaluating only with code metrics? A test run started from the SDK or API whose metrics are all SDK code metrics needs no evaluation model.

Optional Configuration

Managing Services

Use the ./rh CLI to manage services:

Terminal

./rh stop # Stop all services
./rh logs # View logs for all services
./rh restart # Restart all services
./rh delete # Remove all containers, volumes, images, and data (fresh start)
./rh # Display help for all commands

Changing the ports

The first ./rh start prompts for backend and frontend ports (defaults: 8080, 3000) and writes them to .env.docker.local. To change them later, edit .env.docker.local — the port and the port in its URL must stay in sync (BACKEND_PORT with API_BASE_URL, FRONTEND_PORT with FRONTEND_URL). Then run ./rh restart:

.env.docker.local
BACKEND_PORT=15000
API_BASE_URL=http://localhost:15000
FRONTEND_PORT=16000
FRONTEND_URL=http://localhost:16000

Next Steps

Ready for Production?

For production deployment, see the Docker Compose Guide.

For local development setup without Docker (for contributing to Rhesis), see the Environment Setup Guide.