System Architecture

Netra Uptime is a single-container Go + Svelte application backed by PostgreSQL or embedded SQLite with built-in in-memory caching. This page covers the overall topology and the principles behind the design.

System Topology

Netra Uptime is an open-source, self-hosted uptime monitoring and public status page platform. A single container or standalone binary runs a Go backend (Gin, GORM, goroutines) that serves the SvelteKit 5 SPA embedded via go:embed. Persistent data is stored in PostgreSQL 16 or embedded pure-Go SQLite in WAL mode; an in-process thread-safe cache (cache.MemoryCache) provides TTL caching, atomic sliding-window rate limiting, and prefix-based cache invalidation with zero external cache dependencies.

Rendering diagram...
Netra Uptime system topology

Key Characteristics

  • Single-container deployment: the compiled SvelteKit build is embedded into the Go binary, so the runtime image needs no Node.js.
  • Runtime configuration: public settings such as PUBLIC_API_URL are injected through /_app/env.js, so the Docker image does not depend on build-time environment variables.
  • Decoupled asynchronous workers: network checks run over non-blocking Go channels, so slow or failing targets never block HTTP requests or other monitors.
  • Strict multi-tenant isolation: monitors, incidents, status pages, and audit logs are scoped by organization_id, validated by middleware on every request.