Get Started
Deploy QA-PaaS on your machine
in under 5 minutes
QA-PaaS runs entirely on your own infrastructure — no cloud dependency, no data leaving your network. Three commands and you're live.
Prerequisites
Must be running in Linux container mode. On Windows: right-click the tray icon → Switch to Linux containers.
Install Docker Desktop8 GB RAM minimum (16 GB recommended). 20 GB free disk. 4 CPU cores minimum.
A free trial key is included with every registration — no credit card needed. Emailed instantly after sign-up.
Get free trialOnly needed for local development. Not required for Docker deployment.
Download Node.jswinget install Docker.DockerDesktopDeploy the platform
Download the archive, pull the image, and run the first‑boot script — all secrets are auto‑generated.
1. Download the compose files
Grab the latest platform archive from Google Drive . The archive contains the Docker Compose file and the first‑boot scripts.
# PowerShell – qapaas-platform.zip with the actual file name
Expand-Archive -Path .\qapaas-platform.zip -DestinationPath .\qapaas-platform
cd .\qapaas-platformdocker pull qapaas/qa-paas:8.8.4# PowerShell (inside the extracted folder)
.\first-boot.ps1 -Pek '${YOUR_PEK}'Verify the container is healthy:
docker compose ps
# Expected output:
# NAME IMAGE STATUS
# qapaas qapaas/qa-paas:8.8.4 runningVerify image signatures (recommended)
Prove the image was built by the official pipeline and has not been tampered with.
winget install sigstore.cosigncosign verify \
--certificate-identity-regexp=".*" \
--certificate-oidc-issuer-regexp=".*" \
docker.io/qapaas/qa-paas:8.8.4Activate your license
Your license key was emailed after registration. It encodes your plan tier, quota limits, and expiry date.
Navigate to https://localhost in your browser. Register or sign in.
Click the Settings icon in the sidebar, then select the License tab.
Paste your license key and click Activate. The platform binds to your machine on first use.
Run your first test
Six specialized engines. Pick the one that matches your stack.
API Testing (Auto-CRUD)
Upload your OpenAPI / Swagger spec. QA-PaaS auto-generates CRUD test suites, validates responses, and checks schema conformance using Jest + Axios.
Security Pen Testing
OWASP Top 10 checks, injection probes, and authentication bypass tests — automated with OWASP ZAP + Playwright. AI-generated remediation included.
Performance Testing
k6-powered load profiles with real-time Grafana + InfluxDB dashboards. Latency percentiles, throughput analysis, and bottleneck identification.
E2E / BDD Testing
Playwright-powered end-to-end tests generated from Gherkin feature files. Runs headless in the container — no browser install needed.
Database Testing
Six-pillar database validation strategy across MSSQL, MySQL, PostgreSQL, and Oracle. Schema, data integrity, constraints, and performance.
Postman Collection Generator
Automatically generates Postman v2.1 collections from your OpenAPI spec. Export and share with your team in seconds.
Review your report
Every test run produces a structured report with AI-generated remediation suggestions.
HTML Report
Interactive, shareable report with drill-down per endpoint and trend charts.
PDF Export
Executive-ready summary for stakeholders and compliance audits (SOC2, GDPR, PCI, HIPAA).
CSV / JSON
Machine-readable output for CI/CD pipeline integration and custom dashboards.
Configuration
The platform starts with zero configuration. All secrets are auto-generated on first boot. Use the .env file or the dashboard Settings panel to customise behaviour.
Optional add-on profiles
# Performance monitoring (Grafana + InfluxDB)
docker compose --profile performance up -d
# Grafana: http://localhost:3000 (admin / qapaas)
# Security scanning sidecar (OWASP ZAP)
docker compose --profile security up -d
# Both add-ons together
docker compose --profile performance --profile security up -dAI provider configuration
API keys for AI providers (OpenAI, Gemini, Claude, DeepSeek) can be configured in Settings → AI Provider from the dashboard. Keys are stored encrypted locally and never leave your network.
SAML 2.0 SSO (Enterprise)
QA-PaaS supports SAML 2.0 SSO with Okta, Azure AD, and ADFS alongside local email/password auth.
SAML_CALLBACK_URL=https://your-domain.com/api/auth/saml/callbackUsage & lifecycle commands
# View live logs
docker compose logs -f orchestrator
# Stop (data preserved in qapaas-data volume)
docker compose down
# Full reset — removes all data
docker compose down -v
# Upgrade to a new version
docker pull qapaas/qa-paas:8.8.4
docker compose up -d
# Restart the service
docker compose restart orchestratorUpgrading to a new version
# Pull the latest image and restart
docker pull qapaas/qa-paas:8.8.4
docker compose up -d
# Or pin to a specific version in .env:
# PLATFORM_VERSION=8.8.4
# Then:
docker pull qapaas/qa-paas:8.8.4 && docker compose up -dUpgrading a single engine (production stack)
# Upgrade only the DB engine without touching the rest
DB_ENGINE_VERSION=1.1.0 docker compose -f docker-compose.prod.yml up -d --no-deps db-engineRolling back
# Edit .env:
PLATFORM_VERSION=1.0.0
# Then restart:
docker compose up -dTroubleshooting
Container exits immediately after starting
Check the logs first:
docker compose logs orchestratorCommon causes: the data volume is not writable, or the provisioning key (PEK) was not provided. Ensure you followed the first‑boot instructions above.
# Ensure the volume is writable
docker compose down -v
docker compose up -dPort 443 is already in use
Set a different host port in your .env file:
HOST_PORT=8443Then access the dashboard at https://localhost:8443.
docker pull fails with "manifest unknown"
The version tag does not exist in the registry. Reset to latest:
# Edit .env:
PLATFORM_VERSION=latestdocker pull qapaas/qa-paas:8.8.4Container keeps restarting in a loop
docker compose logs orchestratorCheck the log output for the specific error. Common causes: invalid configuration, missing dependencies, or a corrupted data volume.
docker: error during connect
Docker Desktop is not running. Start it from the Start menu (Windows) or Applications (macOS) and wait for the whale icon in the system tray to stop animating. On Linux, ensure the Docker daemon is running: sudo systemctl start docker
cosign verify fails
The image was not pulled from the official registry, or the tag was overwritten. Pull directly using the digest reference from VERIFY.md. Digest-based verification is more trustworthy than tag-based because image digests are immutable.
Out of disk space / Docker storage full
# Show Docker disk usage
docker system df
# Remove unused images, containers, and networks
docker system prune -af
# Remove unused volumes (WARNING: deletes data)
docker volume pruneBrowser shows "Your connection is not private" warning
This is expected on first visit. The default TLS certificate is self-signed. Click Advanced → Proceed to localhost (Chrome) or Accept the Risk and Continue (Firefox). For production deployments, mount your own TLS certificate via a reverse proxy (nginx, Caddy, Traefik).
Security & supply chain
Hardened images
Non-root UID 1001, multi-stage builds, JS obfuscation, no shell in final layer, Trivy-scanned (zero unfixed HIGH/CRITICAL CVEs at publish time).
Dual-standard signing
Every image is signed with Cosign (Sigstore keyless OIDC) and Notation (Notary V2 / X.509). CycloneDX SBOM attached as a signed attestation.
Network isolation
Engine containers run on an internal: true bridge — they cannot reach the internet or the host. Only the orchestrator is reachable from outside.
SOC2 audit trail
Every action is logged with user, timestamp, and outcome in an immutable audit trail stored in local SQLite.
Resources
Ready to get started?
Register for a free trial — no credit card required. You'll receive your license key instantly and can have QA-PaaS running within minutes.