Skip to content

Overview

The CEA platform runs building energy simulations submitted by users through a web application or local Electron desktop app.

Compute-intensive workloads execute on a three-node on-premises Proxmox cluster. User data and simulation outputs are persisted in Hetzner Object Storage (S3-compatible), keeping on-premises workers stateless and replaceable.

Because the on-prem cluster has no direct inbound port forwarding, a Hetzner cloud edge server with a public IP is used as the public entry point. Secure connectivity between cloud and on-prem resources is provided via Netbird (WireGuard overlay).

The design treats the cluster as disposable compute. Worker VMs process jobs and push outputs directly to object storage instead of retaining durable state locally.

Note

Design principle: workers write outputs directly to object storage, so data survives worker/node rebuilds.

flowchart LR
    U[Internet and Users] --> E[Hetzner Edge Server]
    C[Electron App] --> E
    E -->|Netbird| P[On-prem Proxmox Cluster]
    P -->|S3 API| S[Hetzner Object Storage]

Topology notes

  • Public ingress: edge server only
  • Private compute: Proxmox workers on VLAN 30
  • Internal services: API, Redis, Dokploy on VLAN 20
  • Durable data plane: Hetzner S3-compatible object storage