How brhnshn/corvus works
Corvus is a self-hosted server launcher and monitoring dashboard. Users manage manual or discovered Docker services, opt services into uptime checks, and view health, incidents, metrics, and public status; the web UI talks to a .NET API backed by SQLite. The README documents container controls and logs, push monitors, backups, retention, notifications, and bilingual UI. The sampled source confirms service persistence and uptime-check behavior; wiring for several other documented features is represented only where the API registration and tree support it.
Main entry points: Program.cs API Host · App.tsx Web App · UptimeCheckerService.cs Health Checker · DbConnectionFactory.cs SQLite Database
Components 34
Web Dashboard
- Web App
src/Corvus.Web/src/App.tsx - Service Management
src/Corvus.Web/src/pages/Services/index.tsx - Uptime Console
src/Corvus.Web/src/pages/Uptime/index.tsx - Dashboard
src/Corvus.Web/src/pages/Dashboard/index.tsx - Container Console
src/Corvus.Web/src/pages/Containers/index.tsx - System Metrics
src/Corvus.Web/src/pages/SystemMetrics/index.tsx - Settings
src/Corvus.Web/src/pages/Settings/index.tsx - Public Status
src/Corvus.Web/src/pages/PublicStatus/index.tsx
API and Access
- API Host
src/Corvus.Api/Program.cs - Service API
src/Corvus.Api/Endpoints/ServicesEndpoints.cs - Auth API
src/Corvus.Api/Endpoints/AuthEndpoints.cs - Container API
src/Corvus.Api/Endpoints/ContainersEndpoints.cs - Uptime API
src/Corvus.Api/Endpoints/UptimeEndpoints.cs - Status API
src/Corvus.Api/Endpoints/StatusPageEndpoints.cs - Backup API
src/Corvus.Api/Endpoints/BackupEndpoints.cs - Incident API
src/Corvus.Api/Endpoints/IncidentEndpoints.cs
Service Operations
- Docker Integration
src/Corvus.Api/Services/DockerService.cs - Container Discovery
src/Corvus.Api/BackgroundServices/ContainerDiscoveryService.cs - Live Log Stream
src/Corvus.Api/Endpoints/StreamEndpoints.cs
Monitoring and Alerts
- Health Checker
src/Corvus.Api/BackgroundServices/UptimeCheckerService.cs - Notification Delivery
src/Corvus.Api/Services/NotificationService.cs - Push Monitors
src/Corvus.Api/Endpoints/PushEndpoints.cs - Retention Cleanup
src/Corvus.Api/BackgroundServices/RetentionCleanupService.cs - Metrics Collector
src/Corvus.Api/BackgroundServices/SystemMetricsCollector.cs
Persistence
- SQLite Database
src/Corvus.Api/Data/DbConnectionFactory.cs - Services Repository
src/Corvus.Api/Data/ServicesRepository.cs - Uptime Repository
src/Corvus.Api/Data/UptimeRepository.cs - Backup Repository
src/Corvus.Api/Data/BackupRepository.cs - Metrics Repository
src/Corvus.Api/Data/MetricsRepository.cs
Other components
- Operator
- Status Visitor
- Docker Engine
- Monitored Targets
- Alert Channels
Connections 43
- Operator → Web App: uses
- Status Visitor → Public Status: views
- Web App → Service Management: navigates
- Web App → Uptime Console: navigates
- Web App → Dashboard: navigates
- Web App → Container Console: navigates
- Web App → System Metrics: navigates
- Web App → Settings: navigates
- Service Management → Service API: requests
- Uptime Console → Uptime API: requests
- Container Console → Container API: requests
- Public Status → Status API: requests
- API Host → Service API: maps
- API Host → Auth API: maps
- API Host → Container API: maps
- API Host → Uptime API: maps
- API Host → Status API: maps
- API Host → Incident API: maps
- API Host → Backup API: maps
- API Host → Push Monitors: maps
- API Host → Container Discovery: hosts
- API Host → Health Checker: hosts
- API Host → Metrics Collector: hosts
- API Host → Retention Cleanup: hosts
- Service API → Services Repository: reads/writes
- Container Discovery → Docker Integration: discovers
- Container Discovery → Services Repository: syncs
- Docker Integration → Docker Engine: controls
- Container API → Docker Integration: controls
- Live Log Stream → Docker Integration: streams logs
- Health Checker → Services Repository: loads services
- Health Checker → Monitored Targets: probes
- Health Checker → Uptime Repository: records checks
- Health Checker → Notification Delivery: dispatches alerts
- Notification Delivery → Alert Channels: sends alerts
- Push Monitors → Notification Delivery: dispatches alerts
- Metrics Collector → Metrics Repository: records metrics
- Retention Cleanup → SQLite Database: prunes data
- Services Repository → SQLite Database: reads/writes
- Uptime Repository → SQLite Database: reads/writes
- Metrics Repository → SQLite Database: reads/writes
- Backup API → Backup Repository: manages backups
- Backup Repository → SQLite Database: snapshots