Skip to main content

Services

What ISC³ runs besides the teaching machines: identity, VPN, backups, inventory, monitoring, alerting and the public web front (August 2026). Almost all of it lives as LXC containers and VMs on the rumba Proxmox node — the per-guest inventory (ID, address, resources) is on that page.

This page says what each service is and why it exists. The URL or address of every service, and what it asks you for, is the service access paths index in Operations.

Standing rules

  • Publishing goes through the reverse proxy, never through the router. srv-web01 is the only guest reachable from the Internet and terminates TLS for every public name; adding a site means adding a vhost, not a port-forward.
  • Published admin surfaces sit behind the admin gate — oauth2-proxy requiring the Keycloak group role-rack-admins in front of /admin paths. A published service that does work on a user's behalf sits behind the user gate instead — the same mechanism asking for isc or hevs.
  • Identity is a chain for anything published: SWITCH edu-ID → Keycloak → the service. Keycloak is the only relying party the federation ever sees.
  • Internal tools are gated by the VPN instead. NetBox, Oxidized, Healthchecks, ntfy, the status page and the mail relay are not published at all. NetBox still takes edu-ID through Keycloak; the others carry a local account or none, because they do not speak OIDC.

On-site services

ServiceWhat it isRuns on
Landing page & reverse proxyThe public front calypso.hevs.ch and the Caddy proxy that publishes every other public service; also serves the four static test sitessrv-web01, rumba
KeycloakIdentity broker federating to SWITCH edu-ID, manufacturing the group claims the other services consumesrv-keycloak, rumba
NetBird VPNSelf-service VPN — users enroll their own devices, access governed by identity groups; also the routing peer for the rack subnetssrv-netbird, rumba
NetBoxDCIM/IPAM source of truth — racks, U positions, cables, VLANs, prefixes and IP assignments for both sitessrv-netbox, rumba
OxidizedHourly pull of every network device's configuration into a git reposrv-oxidized, rumba
Rack status & thermal alertsLive state of every rack machine plus PDU readings, temperature history and the Telegram alert botsrv-status, rumba
HealthchecksDead-man switch for the scheduled jobs — alerts when a backup or scrub stops pingingsrv-healthchecks, rumba
ntfySelf-hosted push notifications, the alert path besides mail and Telegramsrv-ntfy, rumba
Outbound mail relayThe one Postfix relay every rack device and appliance submits to; holds the sole copy of the Infomaniak credentialsrv-mail, rumba
Audience statisticsUmami — visitor counts and campaign attribution for every ISC web site, no cookie; tracker public, dashboard behind the admin gatesrv-stats (VM), rumba
Utility toolsStirling-PDF, IT-Tools and CyberChef — three stateless browser tools for students and staff, the first user-facing wavesrv-stirling, srv-it-tools, srv-cyberchef, rumba
TISC EditorOnline Typst document editor and API, its own Keycloak login; migrated off the legacy VPS marcellussrv-tisc-editor, rumba
UPS monitoringNUT reading the rack UPS over USB — no network interface on the unit itselfrumba, host-level
Proxmox Backup ServerOff-host, deduplicated backups of rumba's guestssrv-pbs, a VM on the NAS

Three more services are documented elsewhere rather than here:

  • Netdata — per-guest metrics, installed on the rumba host itself so every guest is collected without an agent: monitoring, rumba.
  • ISC Learn DR mirror (VM 107) — a full Moodle restored from hannibal, kept as the disaster recovery copy: restore runbook.

Hosted elsewhere

Two Infomaniak VPS predate the rack. hannibal carries the ISC Learn Moodle platform and has its own section: ISC Learn. marcellus (legacy: LoRaWAN, WordPress sites) is compromised and to be discarded: external VPS — the TISC editor it used to carry has moved to its own guest.

The programme's public web sites — hub, landing page, curriculum, theses, clock, timetable, this documentation — are GitHub Pages builds, two of them also served from hannibal; the list, with where each one lives and its statistics id, is ISC web sites.

Planned

  • GitLab — self-hosted, a future Keycloak client. The install runbook is in provisioning/gitlab/install-runbook.md.

Open items across all of the above: ops todo.