krons24-backend
FastAPI · Python 3.11 control-plane API, auth, scheduling & licensing.
registry.krons24.com/krons24-backend:latestSelf-hosted, distributed cron job management for teams. Schedule, run and observe scheduled tasks across every server — from one hardened, container-native control plane.
docker compose -f deployment/docker-compose.yml up -dKrons24 is a self-hosted platform that turns scattered, hard-to-track crontab entries into a single, observable control plane. Instead of SSH-ing into every server to edit cron files — with no logs, no alerts and no history — teams schedule, run and monitor every job from one web dashboard.
Each scheduled job runs on your own infrastructure over SSH, streams its logs back in real time, and raises an alert the moment it fails. It ships as a small set of container images you run with Docker Compose — your data never leaves your servers.
Every job, every server, one dashboard. Cron expressions with a visual builder.
Live log streaming over WebSockets, full run history and audit trail.
Email, Slack, Discord and webhooks fire the instant a job fails or runs slow.
Runs on your hardware. No data leaves your network. Air-gap friendly.
FastAPI · Python 3.11 control-plane API, auth, scheduling & licensing.
registry.krons24.com/krons24-backend:latestNext.js 15 · React 19 dashboard UI, standalone output, white-label ready.
registry.krons24.com/krons24-frontend:latestNginx 1.25 edge · TLS termination, rate-limiting, security headers, routing.
registry.krons24.com/krons24-nginx:latestThe stack also uses upstream mariadb:11 and redis:7-alpine, plus two Celery roles (worker & beat) that reuse the backend image.
docker login registry.krons24.comdocker pull registry.krons24.com/krons24-backend:latest# 1 · configure secrets
cp deployment/.env.example deployment/.env
nano deployment/.env
# 2 · launch all services
docker compose -f deployment/docker-compose.yml up -d
# 3 · open the dashboard
open http://localhostDefault sign-in on first boot: admin@krons24.com — the one-time password is printed in the backend logs (docker logs krons24-backend).
Multi-stage builds ship only the runtime — no compilers, no build tooling, no shells you don't need. Slim base images, pinned by digest.
Every container drops to an unprivileged user (UID 1001). No process runs as root by default — straight out of the OWASP playbook.
Each image declares a HEALTHCHECK so orchestrators know the real state, not just “process alive”.
The nginx image enforces TLS, HSTS, CSP and per-route rate limits, and isolates internal services behind one gateway.
Immutable digests and versioned tags mean the image you test is byte-for-byte the image you run in production.
Self-hosted by design. Secrets stay in your .env; job output never leaves your network.
The images are free to pull and run. Capabilities are unlocked by a license key set in your .env — leave it empty to run the Free tier forever.
Licenses are JWT-based and verified offline by the backend, with a 7-day grace period on expiry.