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. A dedicated operator runbook covering the Hetzner-specific pieces (provisioning, cloud-init, systemd timers, off-host backup) is being prepared and will be linked here when it lands.

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.