Skip to main content

Demo SaaS hosting

The public Demo SaaS runs on a single Hetzner Cloud ARM server (CAX31, 8 vCPU / 16 GB) using the same docker-compose.yml stack as a self-hosted production install, fronted by a TLS-terminating reverse proxy on the host.

This page replaced the GCP runbook

An earlier version of this page described a GCP deployment (Cloud Run + Cloud SQL + Memorystore) driven by a terraform/ module. That plan was retired before launch — the worker's long-running scan processes and shared workspace volume do not fit serverless runtimes, and the projected cost was several times higher. The Terraform module was never shipped: there is no terraform/ directory in this repository.

What runs where​

ConcernDemo SaaS choice
ComputeOne Hetzner CAX31 (ARM64) VPS
Orchestrationdocker-compose.yml — the same production bundle documented in Install
TLS / ingressReverse proxy on the host (ports 80/443)
BackupsDaily scripts/backup.sh via a systemd timer, shipped off-host
Demo data resetNightly demo re-seed via a systemd timer

Because the Demo SaaS is a stock docker-compose install, there is no separate cloud-specific runbook to follow: the installation guide, upgrade guide, and backup/restore guide apply as-is. The Hetzner-specific pieces (server provisioning, the reverse proxy, and the systemd timers for backup and the nightly reset) are operator plumbing, not a product feature, so they live in the deployment's private ops repository rather than in these public docs.

Demo accounts​

Seeded demo credentials and the nightly reset behaviour are documented in Live demo. The demo organization is recreated from scratch every night — anything you create there is discarded.

Production deployments​

The Demo SaaS exists to showcase the product. For real data, deploy on-premises with docker-compose or on Kubernetes with the Helm chart.