Skip to content

Self-hosting Sulu

Sulu can be self-hosted in two ways:

  1. Licensed on-premise — pull pre-built signed images from GHCR using a token issued by your account team. This is the recommended production path — see Installing Sulu (on-premise).

  2. Build from source — clone the public repository, build images locally, and run via Docker Compose. Suitable for evaluation only; production support requires a license.

Comparison

Licensed on-premiseBuild from source
ImagesPre-built, signed, SBOMedBuilt locally on every deploy
TLSCaddy / nginx (your choice)Same
SupportPer your contractBest-effort community via repo issues
UpdatesPull new tag from GHCRPull repo + rebuild
Helm chartOCI-published, versionedBuild chart locally

Quick paths

  • I want to deploy on Kubernetes → Kubernetes deployment guide
  • I want to deploy via Docker Compose → Installing Sulu (on-premise)
  • I'm evaluating — clone the repository and follow the build-from-source instructions in the repo README. Suitable for evaluation only; production support requires a license.

Optional add-ons

What you'll need

  • A Linux host running Docker 26+ or a Kubernetes 1.27+ cluster
  • A public DNS name for the UI (and optionally separate hostnames for API, landing, and docs sites)
  • A TLS termination layer — Caddy works out of the box; nginx, Traefik, and HAProxy are all fine
  • An S3-compatible object store for attachments (MinIO is bundled and works without external setup)
  • An SMTP relay (Resend, SES, your corporate Postfix — any standard SMTP)

Resources

  • Sulu repository
  • Reporter SDKs (Apache-2.0, separate repo: Java JUnit 5/TestNG, Python pytest, JS Playwright, .NET xUnit)
  • For pre-sales questions: contact your Sulu account team.

Sulu Test Management System