A job scheduler for Docker containers, configured via container labels.
- Documentation: https://deck-chores.readthedocs.io
- Image repository: https://hub.docker.com/r/funkyfuture/deck-chores
- Code repository: https://github.com/funkyfuture/deck-chores
- Issue tracker: https://github.com/funkyfuture/deck-chores/issues
- Free software: ISC license
- define regular jobs to run within a container context with container and optionally with image labels
- use date, interval and cron-like triggers
- set a maximum of simultaneously running instances per job
- restrict job scheduling to one container per service
- multi-architecture image supports
armv7lplatforms, no emulator involved
Let’s say you want to dump the database of a Wordpress once a day. Here’s a
that defines a job that will be handled by deck-chores:
version: '2' services: wordpress: image: wordpress mysql: image: mariadb volumes: - ./database_dumps:/dumps labels: deck-chores.dump.command: sh -c "mysqldump --all-databases > /dumps/dump-$$(date -Idate)" deck-chores.dump.interval: daily
It is however recommended to use scripts with a proper shebang for such actions. Their outputs to
stderr as well as their exit code will be logged by deck-chores.
At the moment deck-chores is designed to run on a single Docker node, not within a cluster of these. Code and documentation contribution covering this are highly encouraged.
It wouldn’t be as charming to write this piece of software without these projects: