PerfLoad No script HTTP load testing

PerfLoad Multiuser New

One PerfLoad server, many people — each with their own private workspace. By default PerfLoad is open and single-user: anyone who can reach the server can use it. Multiuser mode adds sign-in, so a team can share one self-hosted PerfLoad and each person only sees their own runs, comparisons, reports, saved projects and API keys.

Single-user vs Multiuser

Single-user (default)Multiuser
Sign-inNone — open to anyone who can reach the serverRequired: local email/password, OpenID Connect, or both
Whose dataEverything is sharedEach user only sees their own runs, comparisons, reports, projects and API keys
Saved projectsStored in the browserStored per user on the server
API and MCP accessNo token neededPer-user API keys (Authorization: Bearer pl_…)
Administratorsn/aAdd and manage accounts, but cannot read other users' tests or results
Best forA private machine or one personA team, or any server others can reach

Nothing changes unless you turn it on. Existing Docker installs keep working as single-user, and you can switch authentication off again to restore the original behavior — your data volume stays compatible.

Sign-in options

Turn it on

Set environment variables on the container. The first administrator is required:

docker run -d --name perfload \
  -p 3000:3000 \
  -v perfload-runs:/app/runs \
  -e PERFLOAD_AUTH_ENABLED=true \
  -e PERFLOAD_AUTH_PROVIDERS=local \
  -e PERFLOAD_ADMIN_EMAIL=you@example.com \
  perfload/perfload-runner:latest

No password is set on the command line or logged. PerfLoad writes a one-time token to .admin-setup-token in the data volume. Read it with docker exec perfload cat /app/runs/.admin-setup-token, open /login.html, choose I have a setup or invitation link, paste the token and choose a password. The token works once.

Existing runs are assigned to the administrator the first time you enable authentication and stay private to them.

Key settings

VariableMeaning
PERFLOAD_AUTH_ENABLEDDefault false. Set true to turn Multiuser on.
PERFLOAD_AUTH_PROVIDERSlocal, oidc or local,oidc
PERFLOAD_ADMIN_EMAILRequired. The first administrator; owns any existing data.
PERFLOAD_ALLOW_REGISTRATIONDefault false. Admins can toggle it on the Users page.
PERFLOAD_SESSION_TIMEOUTSession length in seconds. Default 86400.
OIDC_ISSUER, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, OIDC_REDIRECT_URIFrom your identity provider, when using SSO.

API keys for scripts, CI and AI tools

Signed-in users create personal API keys from Account & API keys in the account menu (optionally with an expiry). A key is shown once, only reaches its owner's data, and can be revoked at any time. These keys also work as tokens for PerfLoad MCP.

curl -H "Authorization: Bearer $PERFLOAD_API_KEY" http://localhost:3000/runs

Running it behind HTTPS

For anything beyond a private machine, put PerfLoad behind a reverse proxy with HTTPS and set PERFLOAD_TRUST_PROXY=true. See the installation guide for running PerfLoad with Docker.