The elegant, lightweight homelab portal and service launchpad for the kleinbem fleet.
Foyer serves as the front door to home.kleinbem.dev. Built with modern SvelteKit and Tailwind CSS 4 using the shared @kleinbem/web-config design system, Foyer delivers instantaneous page loads with zero runtime overhead on host infrastructure.
- Fleet Design System: Fully synchronized theme tokens, typography, and dark/light modes powered by
@kleinbem/web-config. - Zero Runtime Overhead: Packaged via Nix as a pure static SPA served directly by Caddy; no persistent Node.js or container runtime required on
core-pi. - Network Reachability Awareness: Clear visual badges for Public (Cloudflare Tunnel), Mesh-Only (NetBird), and LAN-Only services.
- Real-Time Health & Uptime: Direct live status integration with the fleet's Gatus instance.
- Command Palette (
⌘K//): Fast keyboard-driven fuzzy search across all services, host nodes, and quick links. - Host Node Filtering: Filter services dynamically by node (
core-pi,nixos-nvme,mac-mini,nasbook,orin-nano,bpi-r4). - Live Weather & Telemetry: Built-in weather widget (Open-Meteo) and system clocks.
just dev # Start local development server
just check # Run Svelte and TypeScript checks
just build # Build static assets (to build/)
just preview # Preview production buildPackaged using pkgs.buildNpmPackage with reproducible npm locks:
nix build .#default