← Back to portfolio
Self-hosted infra dashboard Live

Server Admin

A complete operator dashboard for the production server that hosts a small fleet of sites. Container management, backup orchestration, schema browsing, XRPL price-alert admin, and OpenRouter AI spend tracking — all behind a Tailscale-only auth gate so the public internet never sees the surface.

Role Designer · Developer · Operator

A SvelteKit admin app for managing the self-hosted server — system health, container orchestration, backup management, AI spend tracking, XRPL price-alert controls, and per-database schema browsing. Tailscale-only auth — no public surface.

  • Podman container lifecycle — restart, rebuild, live memory/CPU stats
  • Encrypted backup snapshots with paired secrets files and B2 off-site sync
  • Coverage audit verifying all critical server files are included in backups
  • OpenRouter spend tracking — daily, weekly, monthly, with budget cap alerts
  • XRPL price-alert daemon controls — per-device threshold matrix and test dispatch
  • SQLite schema browser across all three databases with row counts and DDL viewer
  • Tailscale-only session auth with TOTP 2FA and passkey (Touch ID / Face ID) support
  • Cron job registry with schedule, last-run, consecutive-failures, and run-count-today
  • Silent-failure event log — API counters, cron ticks, IMAP listener heartbeat
  • Smoke-test runner with per-test history and latency tracking

SvelteKit static frontend served by Nginx behind a Tailscale ACL. Flask backend with direct Podman socket access for container lifecycle. SQLite for state. Secrets handled by a dedicated vault service in its own container. All routes require a Tailscale-issued session — no public login page exists.

SvelteKitTypeScriptPython / FlaskPodmanSQLiteTailscaleNginxInfisicalBackblaze B2