Self-host swarm-cronjob
v1.16.1Cron-style job scheduler for Docker Swarm clusters
- Stars
- 888
- Requires
- Docker Swarm
crazymax/swarm-cronjobWhat is swarm-cronjob?
swarm-cronjob is an open-source scheduler that brings cron-style recurring jobs to a Docker Swarm cluster. Instead of running a separate cron daemon, you label Swarm services with swarm.cronjob.enable and swarm.cronjob.schedule, and the tool polls the Docker API to launch each job on time. It picks up newly deployed or modified services on its own, can skip a run when the target service is still busy, and honors a global time zone plus per-schedule CRON_TZ overrides. Replicated services (deployed at zero replicas) and global-mode services are both schedulable. Self-hosting is straightforward: deploy the container pinned to a manager node with the Docker socket mounted, or grab the binary and run it, optionally as a systemd unit on Debian-based distributions. There is no web UI; configuration is driven entirely by service labels, environment variables and CLI flags. Licensed under MIT.
Should you self-host swarm-cronjob?
swarm-cronjob scores 51/100 on selfhost.directory (how scoring works) and ranks #20 of 26 in Automation. It has 888 GitHub stars.
It shipped 3 stable releases in the past year. The latest, v1.16.1, came out on 24 October 2026. New versions land roughly every 5 months.
Setup is easy: most people get it running in one sitting. An official Docker image is available. It is MIT-licensed and written mostly in Go.
Its closest alternative on selfhost.directory is Node RED (81/100, 23 790 stars). It scores higher overall, so compare the two before you pick. See swarm-cronjob vs Node RED side by side.
Features
- Automatic service discovery
- Configurable time zone
- Cron-style scheduling
- Global-mode service support
- Label-based Configuration
- Overlap control
swarm-cronjob README
FAQ
Which time zone is used to interpret cron schedules?
By default scheduling follows the local time zone set through the TZ environment variable, and an individual schedule can override it by prefixing the spec with something like CRON_TZ=Asia/Tokyo.
More in Containers
vibebinvibebin is a self-hosted platform using Incus/LXC containers to run AI coding agent sandboxes with automatic HTTPS and SSH access on a VPS.
agenttierAgentTier is a self-hosted Kubernetes platform providing isolated sandboxes for AI agents and developers with browser terminals and gVisor isolation.
beamA self-hostable, open-source platform for running serverless AI workloads with GPU inference, code sandboxes, and background task queues.
cadvisorSelf-hosted, open-source cAdvisor daemon tracks CPU, memory, network and disk usage of running containers, exposing a web UI, REST API and Prometheus metrics.
Cloud in a BottleOpen-source personal cloud OS: install web apps from Git repos on your own Ubuntu server or VM, with subdomain routing, HTTPS, sandboxed containers, backups and a CLI.
CoderCoder is an open-source, self-hosted control plane for remote dev environments and AI coding agents, with Terraform-defined workspaces and WireGuard-secured access.
dockgeA self-hosted, open-source web UI for Docker Compose stacks: create, edit and deploy compose.yaml files, with a live web terminal and multi-host agents.
frappe_dockerOpen-source Docker images and Compose setups to self-host Frappe apps such as ERPNext, CRM and Helpdesk, from demo installs to production deployments.
hiveboxSelf-hosted Linux sandbox isolating AI agents with kernel namespaces and cgroups, featuring a REST API, MCP bridge, and built-in web dashboard.
konarrKonarr is a self-hosted, open-source SCA platform for monitoring container dependencies and vulnerabilities using Syft, Grype, and Trivy.
LXCSelf-hosted, open-source low-level Linux container runtime for privileged and unprivileged system containers, driven by dotted lxc.* config keys and a stable C API.
OfeliaAn open-source cron replacement for Docker hosts: schedule jobs as container labels or INI entries and run them via exec, new containers, or Swarm.
0 comments