mirror of
https://github.com/Dvorinka/beszel.git
synced 2026-06-03 21:02:56 +00:00
1.4 KiB
1.4 KiB
Domain Locker + Beszel Integration Plan
Overview
Integrate Domain Locker's domain expiry monitoring as a third dashboard section in Beszel:
- Device Monitoring (Systems)
- Website Monitoring (Monitors)
- Domain Monitoring (Domains)
Features to Port
- WHOIS lookup (registrar, dates, status)
- SSL certificate monitoring
- DNS records (NS, MX, TXT)
- IP addresses (IPv4/IPv6)
- Host info (location, ISP)
- Domain valuation
- Tags
- Change history
- Auto-recognition when adding website monitors
Implementation Steps
1. Backend (Go)
- Domain entity types
- WHOIS service with multiple fallback methods
- Domain collections (domains, domain_history)
- Domain scheduler for expiry checks
- Domain API handlers
2. Frontend (React/TypeScript)
- Domain API client
- Domain table component
- Domain dialog (add/edit with WHOIS auto-fill)
- Dashboard integration (third section)
- Link to website monitors
3. Integration
- Optional domain tracking when creating website monitors
- Registrar recognition fixes
- Favicon fetching
File Structure
beszel/internal/
├── entities/domain/domain.go
├── hub/domains/
│ ├── whois/
│ │ └── lookup.go
│ ├── scheduler.go
│ └── api.go
└── site/src/
├── lib/domains.ts
└── components/
└── domains-table/
├── domains-table.tsx
└── domain-dialog.tsx