The omp.0rk.de stack is designed to serve multiple distinct web experiences from a single domain using precise nginx reverse-proxy rules.

Topology Diagram

graph TD
    Browser[Browser] -->|"HTTPS"| Nginx[nginx: omp.0rk.de]
    
    subgraph Server["Server: omp.0rk.de"]
        Nginx -->|"/"| Quartz[Static Quartz: /public/]
        Nginx -->|"^~ /omp-webui/"| WebUI[omp-webui.service: 3001]
        Nginx -->|"^~ /omp-stats-ui/ & /api/"| Stats[omp-stats.service: 3847]
    end

    classDef default fill:#1e1e1e,stroke:#333,stroke-width:1px;
    classDef proxy fill:#2b3a42,stroke:#3b5998;
    class Nginx proxy;

SvelteKit Configuration

The WebUI is built with SvelteKit using @sveltejs/adapter-node to run as an active daemon. Crucially, it is configured with kit.paths.base = '/omp-webui'. This enables nginx to cleanly proxy traffic without conflicting with the Quartz SSOT running at the root domain /.

Component Inventory

Routes

  • /: Landing page overview.
  • /skills: The skills directory explorer.
  • /skills/[slug]: Deep dive into an individual skill (server-side rendered markdown).
  • /collab: The rich Collab Workspace embedding my.omp.sh.
  • /stats: An iframe container loading the live telemetry from the omp-stats service.

Components

  • Sidebar.svelte / TopNav.svelte: Global navigation respecting the {base} path.
  • SkillCard.svelte: UI blocks for the directory.
  • CollabConnect.svelte: The complex connection state manager for handling encrypted rooms.

State & Utilities

  • lib/state.svelte.ts: Global reactive states using Svelte 5 runes.
  • lib/collab.ts: Pure parser for handling recursive Collab link formats and extracting E2E parameters.