Skip to content

ReportPortal Local Setup Guide

github-actions[bot] edited this page Oct 7, 2026 · 2 revisions

ReportPortal local setup (testo validation)

Persistent ReportPortal v5.15.x on Docker for end-to-end ReportPortalReporter testing. A pre-seeded API key is inserted into PostgreSQL after migrations — no UI token generation.

Prerequisites

  • Docker Desktop on macOS with 4–6 GB RAM allocated (Settings → Resources → Memory).
  • Port 8080 is free on the host (lsof -i :8080). This stack is separate from the repo's docker-compose.yml (Postgres only).

Official documentation

Topic Reference
ReportPortal https://reportportal.io/docs/
ReportPortal API https://reportportal.io/docs/api-development/
Test framework integration https://reportportal.io/docs/log-data-in-reportportal/test-framework-integration/
Docker Compose https://docs.docker.com/compose/

Pre-seeded credentials

Purpose Value
API token (Bearer) testo-local-validation_ERERERERQRGBEREREREREV2jef5txhXfGyP3Fw17h7wSbX5dgz7RhFB1P7mNawIW
Dashboard login superadmin / erebus
Project (in testosterone.yaml) superadmin_personal
Endpoint http://localhost:8080

The token is a deterministic ReportPortal 5.x API key (testo-local-validation + fixed salt). It is stored as a SHA3-256 hex digest of the full bearer string in api_keys (see infra/reportportal/seed-api-key.sql).

Quick start

From the repository root:

./scripts/reportportal-local.sh up
./scripts/reportportal-local.sh verify

Or manually:

docker compose -f docker-compose-rp.yml --profile core up -d
docker compose -f docker-compose-rp.yml ps

Allow 1–2 minutes on first boot for migrations, token seed, and Java services to become healthy.

Verify health and authentication

curl -sf http://localhost:8080/health

curl -sf -H "Authorization: Bearer testo-local-validation_ERERERERQRGBEREREREREV2jef5txhXfGyP3Fw17h7wSbX5dgz7RhFB1P7mNawIW" \
  "http://localhost:8080/api/v1/superadmin_personal/launch?page.size=1"
  • HTTP 200 on the launch endpoint (empty list is fine) means the seed token works.
  • HTTP 401 usually means token-seed did not run or migrations failed — check docker compose -f docker-compose-rp.yml logs token-seed migrations.

Optional dashboard: open http://localhost:8080 and sign in as superadmin / erebus (not required for API reporting).

Run sample-pytests against local ReportPortal

export REPORTPORTAL_TOKEN=testo-local-validation_ERERERERQRGBEREREREREV2jef5txhXfGyP3Fw17h7wSbX5dgz7RhFB1P7mNawIW

testo run --cycle sample-pytests

testosterone.yaml already sets endpoint, project, and defaults the token to the same value if the env var is unset.

Success indicators:

  • CLI mentions a ReportPortal launch / dashboard URL.
  • artifacts/reports/reportportal/summary.json with "ok": true.
testo config validate

Stop and reset

# Stop containers, keep Postgres data on disk
./scripts/reportportal-local.sh down

# Stop and remove named Docker volumes (rp-storage)
docker compose -f docker-compose-rp.yml down -v

# Full database reset (re-runs migrations + token seed on next up)
rm -rf ./data/reportportal/postgres
./scripts/reportportal-local.sh up

Services (core profile)

Service Role
gateway Traefik — UI/API on host :8080
postgresql Metadata DB (bind mount ./data/reportportal/postgres)
rabbitmq Message broker
migrations Schema + default users/projects (one-shot)
token-seed Inserts pre-hashed API key (one-shot)
index Entry router
service-ui Web UI
service-api REST API
service-uaa Auth (UAA)
jobs Background jobs (required by API)

Analyzer/OpenSearch is omitted; they are not needed for REST launch reporting.


Context & Links:


Generated from docs/Archive/ReportPortal Local Setup Guide.md. Edit it there; changes made in the wiki are overwritten.

Clone this wiki locally