Architecture
Chaque composant, et où il s'exécute
Hébergé dans l'UE sur une VM Hetzner en Allemagne, derrière Cloudflare. Tout le système tient dans une seule vue — et les seuls sous-traitants sont Cloudflare, Paddle et SMTP2GO.
Clients
Browser
steadycron.com
Site & docs
Browser
app.steadycron.com
Interface du tableau de bord
CLI / scripts
api.steadycron.com
REST + manifestes
Your cron
ping.steadycron.com
Pings heartbeat
Cloudflare
DNS · TLS · WAF · CDN
Proxy edge, pare-feu et limitation de débit devant tout le reste.
Cloudflare Pages
Astro · static
Ce site, servi en périphérie — ne touche jamais la VM.
Caddy
reverse proxy
Sur la VM : TLS automatique, route app. / api. / ping. vers les conteneurs.
VM Hetzner · Allemagne · Docker Compose
Dashboard
steadycron-dashboard
Next.js. UI authentifiée ; appelle l'API via le réseau interne.
API + Ping
steadycron-api · .NET
REST · ingestion ping · aperçu cron · variables · activité · admin.
steadycron-scheduler · Quartz.NET clustered
HTTP executor
Polly · SSRF guard
Effectue les appels HTTPS planifiés — réessais, délais, re-vérif des redirections.
Heartbeat watcher
30s tick
Repère les exécutions manquées ou bloquées selon le délai de grâce.
Alert dispatcher
outbox · NOTIFY
Vide l'outbox ; met en forme, livre et réessaie les alertes.
Background workers
×4 services
Flush des envois, détection d'anomalies, purge de rétention, réconciliation Paddle.
PostgreSQL 17
app · Quartz · outbox
Une seule instance pour tout. LISTEN/NOTIFY remplace un broker — pas de Redis.
Backups
nightly · encrypted
pg_dump chiffré, stocké hors site ; tests de restauration trimestriels.
Services externes & vos systèmes
Your endpoints
the jobs we call
Vos handlers HTTPS, appelés selon le planning.
Alert channels
Slack · Discord · …
Telegram, webhook, e-mail — sortant uniquement.
Paddle
billing · MoR
Merchant of Record — gère la TVA. Aucune donnée de carte ici.
SMTP2GO
Vérification, réinitialisation de mot de passe et alertes e-mail.