Islandr

Self-hosted WireGuard management platform. Peer lifecycle, RBAC access control, nftables enforcement.

Islandr[Software System]Self-Service Portal[Container: Vue.js (ESM, no npm)] Guided SPA for end users: enrolldevices, view access list in plainlanguage. German UI, informal Du.Islandr Backend[Container: Quarkus 3 / Java 21 (native binary)] REST API, domain logic, WireGuardand nftables adapters, OIDC tokenverification, activity polling, auditlogging.Database[Container: SQLite (default) or PostgreSQL] Persists peers, users, roles,resources, ACLs, audit log, activitysamples, and runtime settings.Admin Console[Container: Vue.js (ESM, no npm)] Data-dense SPA for admins: peers,ACL matrix, users, roles, audit log,dashboard, settings.Admin[Person] Manages peers, users, roles, resources, and ACLs (Felix).End User[Person] Manages own devices and views access list in plain language(Lena).OIDC Provider[Software System] Authenticates users. Microsoft 365or Google Workspace.WireGuard[Software System] Linux kernel VPN module. Managedvia wg CLI.nftables[Software System] Linux kernel packet filter. EnforcesACL rules generated by Islandr.Cloudflare / Reverse Proxy[Software System] Fully optional edge layer Cloudflare, or a self-hosted reverseproxy (Caddy, nginx, Traefik). Islandrterminates TLS itself (dummy certuntil an admin uploads one,hot-swapped at runtime) and can bereached directly with no proxy of anykind in front of it (ADR-0015).Resource Host[Software System] A machine behind the VPN inside asite (e.g. an RDP server). Forbrowser-based RDP the hubconnects to it directly over TLS andrelays to the browser.Uses (optional path)[HTTPS]Uses (optional path)[HTTPS]Uses directly (built-in TLS)[HTTPS]Uses (optional path)[HTTPS via proxy]Uses directly (built-in TLS)[HTTPS]Uses (optional path)[HTTPS via proxy]Serves directly[HTTP/HTTPS (static files)]REST JSON[fetch /api/v1]Serves directly[HTTP/HTTPS (static files)]REST JSON[fetch /api/v1]Browser-RDP session (RDCleanPath)[WebSocket]Serves (optional layer)[HTTP (static files)]Serves (optional layer)[HTTP (static files)]Proxies API (optional layer)[HTTP /api/v1]Read/Write[JDBC / Hibernate ORM Panache]Fetches JWKS, verifies ID tokens[HTTPS]wg set / wg show[ProcessBuilder]nft -c -f / nft -f[ProcessBuilder]Browser-RDP: TCP connect + TLS relay[TCP/TLS]
Container View: Islandr
C4 Level 2 — Container View
Show legend
Container,BackendContainer,DatabaseContainer,SPAPerson, AdminPerson, UserSoftwareSystem,ExternalRelationship