Portainer

Laisser chaque conteneur du laboratoire domestique tourner 24/7 est une taxe silencieuse sur les factures d’électricité, le bruit des ventilateurs et l’espace où réside le mini-PC. Docker standard n’a pas de planificateur, donc quand nous voulons qu’un conteneur fonctionne uniquement de 19h à minuit, ou qu’une tâche rclone s’exécute à 3h du matin, nous recherchons un outil d’assistance. Cette liste couvre les meilleures applications pour planifier les conteneurs Docker sur les ordinateurs de bureau et les petits serveurs en 2026, en se concentrant spécifiquement sur les tâches de démarrage, d’arrêt et d’exécution cron sur Windows, macOS et Linux. Nous avons choisi des outils activement maintenus, qui fonctionnent avec docker-compose simple et (avec une exception) qui ne coûtent rien à exécuter à la maison.

Ce qu’il faut rechercher dans un planificateur Docker

Un bon planificateur fait bien une seule chose. Avant de choisir, vérifiez ces cinq points.

Comparaison rapide

Application Meilleur pour S’exécute comme Licence Coût
Ofelia Cron Docker-native par labels Conteneur MIT Gratuit
Chadburn Fork d’Ofelia avec rechargement de label en direct Conteneur MIT Gratuit
systemd + Compose Zéro dépendances supplémentaires sur Linux Service d’hôte LGPL Gratuit
Cronicle Interface web pour les tâches shell et Docker planifiées Conteneur MIT Gratuit
Portainer + SleeperStack Interface complète du conteneur plus démarrage/arrêt planifiés Conteneur Zlib / MIT Gratuit (CE)
Kestra Flux de travail multi-étapes qui déclenchent les conteneurs Conteneur Apache 2.0 Gratuit (OSS)

Les applications

1. Ofelia, le meilleur planificateur docker-native global

Ofelia est l’outil sur lequel la plupart des auto-hébergeurs se retrouvent une fois qu’ils ont dépassé le cron de l’hôte. Il s’exécute comme un seul conteneur, lit les horaires à partir de labels sur les conteneurs sur lesquels il doit agir, et supporte quatre types de travaux : job-exec (exécuter une commande dans un conteneur en cours d’exécution), job-run (créer un conteneur temporaire, exécuter, quitter), job-local (exécuter sur l’hôte Ofelia), et job-service-run (Swarm). Combinez job-run avec l’image Docker CLI et Ofelia devient un planificateur de démarrage/arrêt, déclenchant docker start mycontainer à 19h et docker stop mycontainer à minuit. Les horaires utilisent le cron standard plus les secondes Quartz et les raccourcis @every, et chaque exécution est transmise à docker logs.

Où ça pèche : Le développement du dépôt en amont mcuadros/ofelia a ralenti depuis 2024, ce qui a déclenché le fork Chadburn. Les changements de label nécessitent toujours un redémarrage du conteneur Ofelia pour intégrer les nouvelles tâches, et il n’y a pas d’interface web tierce.

Tarification :

Plates-formes : Linux, macOS, Windows (via Docker Desktop). Le conteneur lui-même est linux/amd64 et linux/arm64.

Télécharger : Site du projet · GitHub

En résumé : Choisissez Ofelia si les stacks qu’il planifie changent rarement et que vous voulez la plus petite surface possible.

2. Chadburn, la meilleure option gratuite activement maintenue

Chadburn est un fork communautaire d’Ofelia (via rdelcorro/ofelia) qui corrige les deux frictions que la plupart des gens rencontrent sur l’original. Il surveille les événements Docker, donc démarrer, arrêter ou réétiqueter un conteneur met à jour son horaire sans redémarrer Chadburn. Il élimine également l’exigence que Chadburn lui-même ait une tâche fictive juste pour rester opérationnel. Les sources de configuration sont additives : un fichier INI et les labels du conteneur fusionnent, ce qui convient aux équipes qui gardent les tâches globales dans un dépôt et les tâches par stack dans chaque fichier compose.

Où ça pèche : Une communauté plus petite qu’Ofelia, donc moins de billets de blog et d’exemples de configuration. L’interface web est minimaliste (une page d’état) plutôt qu’un tableau de bord complet.

Tarification :

Plates-formes : Linux, macOS, Windows (via Docker Desktop). Les mêmes images multi-architectures qu’Ofelia.

Télécharger : Site du projet · GitHub

En résumé : Le choix par défaut pour quiconque commence de zéro en 2026, car il hérite de la conception d’Ofelia sans le suivi obsolète des problèmes.

3. Minuteurs systemd avec Docker Compose, la meilleure approche sans conteneurs supplémentaires

Sur n’importe quel hôte Linux, systemd est déjà livré avec le planificateur dont la plupart des homelabbers ont besoin. Une paire de fichiers, stack.service (avec ExecStart=docker compose up -d et ExecStop=docker compose down) plus stack.timer (avec OnCalendar=Mon..Fri 19:00), transforme une pile compose entière en quelque chose que le système d’exploitation démarre et arrête selon un horaire. Parce que systemd fonctionne déjà, il n’y a rien à installer, surveiller ou mettre à jour. Les journaux s’écoulent dans journalctl -u stack.service, que la plupart des administrateurs lisent déjà pour d’autres raisons.

Où ça pèche : Linux uniquement. Il n’y a pas d’équivalent sur Windows ou macOS au-delà des tâches planifiées ou launchd, tous deux plus maladroits pour les conteneurs. Gérer plus d’une douzaine de minuteurs à la main devient fastidieux ; un planificateur basé sur un fichier de configuration est meilleur à plus grande échelle.

Tarification :

Plates-formes : Linux uniquement.

Télécharger : Site du projet · Documentation Docker Compose

En résumé : La bonne réponse quand l’hôte est Linux, l’horaire est simple et ajouter un autre conteneur ressemble à une cérémonie.

4. Cronicle, la meilleure interface web pour les tâches planifiées

Cronicle est un planificateur de tâches multi-serveurs avec une interface de navigateur, des politiques de nouvelle tentative et un suivi des journaux en temps réel. Ce n’est pas spécifique à Docker, ce qui est exactement le point : les tâches sont des commandes shell, donc docker start, docker stop, docker compose restart, ou docker run --rm alpine sh -c '...' fonctionnent tous comme des actions planifiées de première classe. Le tableau de bord affiche les prochains temps d’exécution, la sortie en direct et un historique d’exécution qui persiste après les redémarrages, ce qui facilite la reconstruction des défaillances à 3h du matin le lendemain matin.

Où ça pèche : Pas de configuration basée sur les labels. Chaque horaire se trouve dans l’interface utilisateur ou le fichier de configuration de Cronicle, donc éviter les écarts entre le planificateur et le dépôt compose dépend de vous. La configuration par défaut du serveur unique utilise le stockage du système de fichiers local, ce qui convient bien à homelab et est maladroit pour un cluster.

Tarification :

Plates-formes : Linux, macOS, Windows (via Docker Desktop ou Node.js).

Télécharger : Site du projet · GitHub

En résumé : Le meilleur choix quand quelqu’un d’autre que l’administrateur système a besoin de vérifier si la tâche d’hier soir s’est exécutée.

5. Portainer avec SleeperStack, le meilleur si l’interface existe déjà

Portainer Community Edition est le tableau de bord web que la plupart des auto-hébergeurs ont déjà installé pour démarrer, arrêter, redémarrer, consulter les journaux et éditer des stacks sur Docker, Swarm et Kubernetes. Il ne planifie pas les événements du cycle de vie des conteneurs par lui-même. L’associer à SleeperStack, un petit conteneur complémentaire qui lit les labels Portainer et émet des appels de démarrage ou d’arrêt selon un horaire, comble le seul écart et préserve le flux de travail pointer-cliquer. Portainer Business ajoute Edge Compute pour les sites hors ligne (premiers cinq nœuds gratuits), mais cela n’est pas lié au travail de planification local.

Où ça pèche : Deux pièces mobiles au lieu d’une. Si Portainer ou la socket Docker redémarre, SleeperStack doit se reconnecter proprement ; testez cela une fois avant de lui confier une fenêtre toute la nuit.

Tarification :

Plates-formes : Linux, macOS, Windows (Docker Desktop). Portainer supporte arm64 pour les hôtes Raspberry Pi.

Télécharger : Site du projet · GitHub

En résumé : Le choix pragmatique pour les ménages où plus d’une personne doit voir et contrôler les conteneurs.

6. Kestra, le meilleur orchestrateur de flux de travail pour utilisateurs avancés

Kestra est un moteur de flux de travail complet qui parle YAML, et l’un de ses types de tâches de première classe est io.kestra.plugin.docker.Run. Cela signifie qu’un flux de travail Kestra planifié peut démarrer un conteneur, attendre sa sortie, capturer les journaux, bifurquer sur le résultat, puis démarrer autre chose. Pour un ménage avec une pile média, une sauvegarde rclone, un instantané Home Assistant et un élagage Restic nocturne, l’orchestration est souvent plus précieuse que le calendrier lui-même. Kestra est gratuit et open-source sous Apache 2.0, avec un niveau Pro payant de 25 $ par mois pour les groupes de workers et RBAC que la plupart des homelabs n’utiliseront pas.

Où ça pèche : Kestra est un moteur de flux de travail d’abord et un planificateur en second. Il attend Postgres (ou H2 intégré pour les tests), et son empreinte mémoire (environ 512 Mo chaud) est un ordre de grandeur au-dessus d’Ofelia. Excessif pour un seul conteneur de style cron.

Tarification :

Plates-formes : Linux, macOS, Windows (Docker Desktop). Nécessite Postgres en production.

Télécharger : Site du projet · GitHub

En résumé : Choisissez Kestra quand le problème de planification est vraiment un problème de flux de travail déguisé.

Outils que les gens confondent avec des planificateurs et ce qu’ils font réellement

Quatre noms apparaissent dans chaque fil de discussion homelab sur ce sujet mais ne figurent pas dans la liste ci-dessus.

Chacun des cinq fonctionne bien avec Ofelia ou Chadburn : utilisez Dockge pour écrire le stack, ajoutez les labels Ofelia, laissez Watchtower garder les images à jour.

Comment choisir le bon

Si l’hôte est un mini-PC Linux et l’horaire est une ou deux piles qui montent le soir et descendent à l’heure du coucher, utilisez systemd timers. Il n’y a rien à installer, rien à mettre à jour, et un appel systemctl status répond à chaque question de débogage.

Si plus d’un conteneur a besoin d’un horaire, ou si les horaires doivent vivre à côté des fichiers compose dans un dépôt git, exécutez Chadburn. Ofelia convient si vous l’avez déjà en marche ; il n’y a aucune raison de changer juste pour changer, mais les nouveaux déploiements en 2026 doivent commencer par le fork.

Si la personne d’astreinte pour une tâche cassée à 3h du matin n’est pas l’administrateur système, installez Cronicle. L’interface web, l’historique d’exécution et les politiques de nouvelle tentative valent le conteneur supplémentaire.

Si le ménage vit déjà dans Portainer et que personne ne veut une deuxième interface, ajoutez SleeperStack et gardez le flux de travail intact. Si le “calendrier” est vraiment “exécuter trois choses dans un ordre spécifique et m’envoyer un email si l’étape deux échoue,” choisissez Kestra. Et si l’objectif est vraiment juste de garder les images de conteneurs à jour, c’est Watchtower ou Diun, pas n’importe quel outil de la liste ci-dessus.

FAQ

Quel est le meilleur planificateur de conteneur Docker gratuit ?

Pour la plupart des gens, Chadburn est le meilleur choix gratuit en 2026. C’est MIT-licensed, s’exécute comme un seul conteneur, lit les horaires à partir des labels Docker à côté des conteneurs sur lesquels il agit, et détecte les changements de label sans redémarrage. Ofelia est la même conception et tout aussi gratuit ; Chadburn est le fork activement maintenu.

Docker peut-il planifier les conteneurs pour démarrer et s’arrêter automatiquement ?

Pas par lui-même. La politique de restart intégrée de Docker décide seulement ce qu’il faut faire après la sortie d’un conteneur ; elle n’a pas de logique d’heure de la journée. Pour démarrer et arrêter les conteneurs selon un horaire, associez Docker à un planificateur comme Ofelia, Chadburn, Cronicle ou systemd timers.

Portainer a-t-il un planificateur de conteneur intégré ?

Non. Portainer Community Edition et Business Edition offrent tous deux des contrôles manuels de démarrage, d’arrêt et de redémarrage plus l’exécution unique de stack, mais aucun n’a de planificateur de style cron. Pour ajouter la planification, associez Portainer à SleeperStack ou exécutez Ofelia ou Chadburn à côté.

Watchtower est-il un planificateur de conteneur ?

Non. Watchtower surveille les registres Docker pour les nouvelles balises d’images et met à jour les conteneurs en cours d’exécution quand une apparaît. Il n’a pas de syntaxe cron et ne peut pas démarrer ou arrêter un conteneur selon un horaire quotidien. Utilisez-le avec un planificateur comme Ofelia, pas comme remplacement.

Comment économisez-vous l’énergie sur un hôte Docker de laboratoire domestique ?

Les deux plus grands gains sont d’arrêter les conteneurs dont vous avez besoin que quelques heures par jour (stacks média, environnements de dev, cibles de sauvegarde) et de laisser l’hôte lui-même se mettre en veille entre les fenêtres planifiées. Un planificateur comme Chadburn ou une paire de systemd timers gère le premier ; wake-on-LAN plus un minuteur systemctl suspend gère le second.

Ces outils fonctionnent-ils sur Windows et macOS ?

Oui. Ofelia, Chadburn, Cronicle, Portainer, Dockge et Kestra se distribuent tous sous forme de conteneurs Linux qui fonctionnent parfaitement sur Docker Desktop pour Windows et macOS. La seule exception est systemd, qui est Linux uniquement ; sous Windows, Task Scheduler avec les commandes docker compose est l’équivalent le plus proche, et sur macOS, launchd joue le même rôle.