

| Layer | Detail |
|---|---|
| OS | Ubuntu 24.04 · systemd PID 1 |
| Database | PostgreSQL 18 · provisioned at runtime by lab-init |
| Runtime | Java 21 (OpenJDK) |
| Service | SonarQube 26.2.0 CE · runs as sonar user |
| Proxy | Nginx :80 → SonarQube :9000 |
| Tunnel | cloudflared pre-installed |
systemd
└── lab-init (oneshot) - SSH keys, PostgreSQL DB init, sysctl (ES limits)
└── postgresql - data store for SonarQube
└── nginx - reverse proxy on :80
└── sonarqube - code quality server on :9000
Inside the lab: click the SonarQube UI tab. That's it.
Public URL: cloudflared is pre-installed. Install a tunnel token and
point the route to localhost:80 for SSL access on your own domain.