Skip to content
Back to Resources
Architecture8 min readUpdated on , published on 

Reference Architecture

Reference architecture of the Noveu platform for architects and technical decision-makers: the principles, the components and how the layers work together.

Overview

This document describes the reference architecture of the Noveu platform, intended for architects and technical decision-makers.

Architecture principles

1. Where data is stored

  • Data and backups in a Hetzner data centre in Falkenstein (Germany)
  • Cloudflare (US) sits at the edge of the network
  • Transparent supply chain

2. Modularity

  • Loosely coupled services
  • Replaceable components
  • API-first design

3. Resilience

  • Dedicated server at Hetzner
  • Every night an encrypted copy of the databases and the mail goes to separate object storage at Hetzner, outside this server and also in Falkenstein

4. Security by Design

  • Backups are encrypted
  • Defence in depth
  • Encryption in transit (TLS 1.2 or higher, TLS 1.3 is supported)

Logical Architecture

Web Portal and Customer portal
          |
      API Gateway
          |
Mail, Calendar, Files and Chat (beta)
          |
Identity, notifications, monitoring and backups
          |
Dedicated server at Hetzner, Falkenstein

Component Details

Presentation Layer

ComponentTechnologyFunction
Web PortalReact, Next.jsBrowser-based UI
Customer portalReact, Next.jsSubscriptions, invoices and support tickets
API GatewayNestJS (own gateway)Request routing, auth

Application Layer

ServiceResponsibilityStorage
Mail ServiceIMAP/SMTP, filteringObject + DB
Calendar ServiceCalDAV, schedulingPostgreSQL
Files ServiceREST API, versioningObject + DB
Chat Service (beta)Real-time messagingPostgreSQL + Redis

Platform Layer

ComponentTechnologyFunction
Identity (IAM)ZitadelSign-in (OIDC), MFA and user management
NotificationCustom (noveu-notification-service)Transactional and system notifications, channel routing
ObservabilityPrometheus, Grafana, GlitchTipMetrics, dashboards, error reports
BackupBackupsSee Backup Strategy; backups are encrypted

Infrastructure Layer

ComponentSpecificationRedundancy
ComputeDedicated server at Hetzner (Proxmox VE) in FalkensteinOne physical server
StorageStorage on the same server
BackupsBackups in FalkensteinEvery night an encrypted copy of the databases and the mail goes to separate object storage at Hetzner, outside this server and also in Falkenstein
DNS/CDNCloudflare (US) at the edge of the network

Deployment Architecture

Multi-Tenant (SaaS)

┌────────────────────────────────────────────┐
│              Shared Platform                │
│  ┌────────┐  ┌────────┐  ┌────────┐        │
│  │  IAM   │  │ Billing│  │Provisn │        │
│  └────────┘  └────────┘  └────────┘        │
└────────────────────────────────────────────┘
              │         │         │
    ┌─────────┘         │         └─────────┐
    ▼                   ▼                   ▼
┌────────┐         ┌────────┐         ┌────────┐
│Tenant A│         │Tenant B│         │Tenant C│
│ (Data) │         │ (Data) │         │ (Data) │
└────────┘         └────────┘         └────────┘

Data Flow

Email Reception

Internet ─► MX ─► Antispam ─► Delivery ─► Mailbox
                    │           │
                    ▼           ▼
                 [Block]     [Store]

Authentication Flow

User ─► Client ─► API Gateway ─► IAM ─► Service
                      │          │         │
                      │    ┌─────┘         │
                      │    ▼               │
                      │  [Token]           │
                      │    │               │
                      └────┼───────────────┘
                           │
                           ▼
                    [Validate + Authorize]
                           │
                           ▼
                      [Response]

Security Architecture

Network Zones

ZoneComponentsIngressEgress
EdgeCloudflare (US), with a Tunnel to the serverInternetPlatform
PlatformServices, databases and storage on one VMEdgeExternal services where needed
MailMail server on its own VMInternet (SMTP, IMAP)Internet
MgmtMonitoring and managementOnly via SSH over the Proxmox hostPlatform

Services and databases run on the same VM.

Encryption

LayerMechanismKey Management
TransportTLS 1.2 or higherCloudflare at the edge; Let's Encrypt on the mail server
BackupBackups are encrypted

Integration Patterns

Synchronous

Client ──► API Gateway ──► Service ──► Response
              │               │
              │          ┌────┴────┐
              │          ▼         ▼
              │      [Cache]   [Database]
              │
              └► [Rate Limit]

Disaster Recovery

Recovery

Backups are in the Hetzner data centre in Falkenstein (Germany), on a separate disk and VM. Backups are encrypted. Recovery takes place from those backups. Every night an encrypted copy of the databases and the mail goes to separate object storage at Hetzner, outside this server and also in Falkenstein.

Backup Strategy

Backups      ─► Hetzner data centre Falkenstein (DE)

Capacity

We agree on capacity for an organisation by quote.

Technology Choices

CategoryChoiceRationale
ContainersDocker on VMs; Coolify for the website and the login pageSimple management on one physical server (Proxmox)
MonitoringPrometheus, Grafana and Uptime KumaMetrics, dashboards, availability and alerting
Error trackingGlitchTipError reports
DatabasePostgreSQLReliable, open source
CacheRedisPerformance, pub/sub
Object storageMinIO (S3-compatible)In production in Falkenstein

Read more

What is your next step?

Want to know what this looks like for your organisation? See how Noveu approaches it, or schedule a conversation.

View more resources