Постоянное включение всех контейнеров домашней лаборатории 24/7 — это скрытый налог на счета за электричество, шум вентиляторов и пространство, где стоит мини-ПК. Базовый Docker не имеет встроенного планировщика, поэтому, когда мы хотим, чтобы контейнер работал только с 19:00 до полуночи или запустить задачу rclone в 3 часа ночи, мы обращаемся к вспомогательному инструменту. Этот список охватывает лучшие приложения для планирования контейнеров Docker на настольных компьютерах и небольших серверах в 2026 году, сосредоточен конкретно на функциях запуска, остановки и cron-запуска на Windows, macOS и Linux. Мы выбрали инструменты, которые активно поддерживаются, работают с обычным docker-compose и (с одним исключением) бесплатны для использования дома.
На что обратить внимание в планировщике Docker
Хороший планировщик делает одно дело хорошо. Перед выбором проверьте эти пять пунктов.
- Синтаксис cron, который вы уже знаете. Стандартный пятиполевой cron плюс Quartz-стиль с секундами и ярлыки
@every 10mохватывают почти каждое реальное расписание. - Дружелюбны к Compose и меткам. Инструмент должен читать Docker метки или файл конфигурации рядом с
docker-compose.yaml, чтобы расписания хранились в контроле версий вместе со стеками, к которым они относятся. - Уважение к политикам перезагрузки. Автоматическая остановка контейнера полезна только если
restart: unless-stoppedне борется с вами при загрузке. Ищите инструменты, которые чистко переключают состояние. - Видимость журналов. Запланированная работа, которая молча дает сбой в 3 часа ночи, хуже, чем отсутствие работы вообще. Веб-интерфейс логов, Discord или Gotify hooks, или простой stdout в
docker logsвсе это считается. - Небольшой объем. Планировщик — это элемент, который должен быть активным, когда все остальное отключено. Менее 50 МБ ОЗУ и один статический двоичный файл — это цель.
Быстрое сравнение
| Приложение | Лучше всего для | Запускается как | Лицензия | Стоимость |
|---|---|---|---|---|
| Ofelia | Docker-native cron по меткам | Контейнер | MIT | Бесплатно |
| Chadburn | Форк Ofelia с живой перезагрузкой меток | Контейнер | MIT | Бесплатно |
| systemd + Compose | Нулевые дополнительные зависимости на Linux | Служба хоста | LGPL | Бесплатно |
| Cronicle | Веб-интерфейс для запланированных shell и Docker задач | Контейнер | MIT | Бесплатно |
| Portainer + SleeperStack | Полный GUI контейнера плюс запланированный запуск/остановка | Контейнер | Zlib / MIT | Бесплатно (CE) |
| Kestra | Многошаговые рабочие процессы, которые запускают контейнеры | Контейнер | Apache 2.0 | Бесплатно (OSS) |
Приложения
1. Ofelia, лучший планировщик Docker-native
Ofelia — это инструмент, на котором оказывается большинство самостоятельно размещающих лиц, как только они перерастают cron хоста. Он работает как один контейнер, читает расписания из меток на контейнерах, которыми он должен управлять, и поддерживает четыре типа заданий: job-exec (выполнить команду внутри работающего контейнера), job-run (создать временный контейнер, выполнить, выход), job-local (запустить на хосте Ofelia) и job-service-run (Swarm). Объедините job-run с образом Docker CLI, и Ofelia становится планировщиком запуска/остановки, запускающим docker start mycontainer в 19:00 и docker stop mycontainer в полночь. Расписания используют стандартный cron плюс Quartz секунды и ярлыки @every, и каждый запуск передается в docker logs.
Где это не получается: Разработка в репозитории upstream mcuadros/ofelia замедлилась с 2024 года, что вызвало форк Chadburn. Изменения меток требуют перезагрузки контейнера Ofelia для принятия новых заданий, и нет первоначального веб-интерфейса.
Ценообразование:
- Бесплатно, лицензия MIT, исходный код на GitHub.
Платформы: Linux, macOS, Windows (через Docker Desktop). Сам контейнер — это linux/amd64 и linux/arm64.
Загрузить: Сайт проекта · GitHub
Итоговая строка: Выберите Ofelia, если стеки, которые она планирует, редко изменяются и вы хотите наименьшую возможную область.
2. Chadburn, лучший активно поддерживаемый бесплатный вариант
Chadburn — это форк сообщества Ofelia (через rdelcorro/ofelia), который исправляет две мелочи, с которыми сталкивается большинство людей в оригинале. Он отслеживает события Docker, поэтому запуск, остановка или переименование контейнера обновляет его расписание без перезагрузки Chadburn. Он также отменяет требование, чтобы сам Chadburn имел фиктивное задание только чтобы оставаться работающим. Источники конфигурации являются добавочными: файл INI и метки контейнеров объединяются, что подходит для команд, которые хранят глобальные работы в репозитории и работы per-stack в каждом compose файле.
Где это не получается: Меньшее сообщество, чем Ofelia, поэтому меньше блог-постов и примеров конфигураций для изучения. Веб-интерфейс минимален (страница статуса) а не полная панель управления.
Ценообразование:
- Бесплатно, лицензия MIT, исходный код на GitHub.
Платформы: Linux, macOS, Windows (через Docker Desktop). Те же многоархитектурные образы, что и Ofelia.
Загрузить: Сайт проекта · GitHub
Итоговая строка: Вариант по умолчанию для всех, кто начинает заново в 2026 году, поскольку он наследует дизайн Ofelia без устаревшего трекера проблем.
3. Systemd timers с Docker Compose, лучший подход с нулевым дополнительным контейнером
На любом хосте Linux systemd уже поставляется с планировщиком, который нужен большинству homelabber’ов. Пара файлов, stack.service (с ExecStart=docker compose up -d и ExecStop=docker compose down) плюс stack.timer (с OnCalendar=Mon..Fri 19:00), превращает весь compose стек в то, что ОС запускает и останавливает по расписанию. Поскольку systemd уже запущен, нечего устанавливать, контролировать или обновлять. Логи текут в journalctl -u stack.service, что большинство администраторов уже читают по другим причинам.
Где это не получается: Только Linux. Нет эквивалента на Windows или macOS кроме запланированных задач или launchd, оба из которых неудобнее для контейнеров. Управление более чем дюжиной таймеров вручную становится утомительным; планировщик на основе файла конфигурации лучше за эту масштабированность.
Ценообразование:
- Бесплатно, поставляется с каждым основным дистрибутивом Linux.
Платформы: Только Linux.
Загрузить: Сайт проекта · Документация Docker Compose
Итоговая строка: Правильный ответ когда хост — Linux, расписание простое, и добавление еще одного контейнера кажется церемонией.
4. Cronicle, лучший веб-интерфейс для запланированных работ
Cronicle — это многосерверный планировщик задач с интерфейсом браузера, политиками повторных попыток и живым отслеживанием логов в реальном времени. Это не Docker-специфично, что именно суть: работы — это shell команды, поэтому docker start, docker stop, docker compose restart или docker run --rm alpine sh -c '...' все работают как действия первого класса. Панель управления показывает следующие времена запуска, прямой вывод и историю запусков, которая выживает перезагрузки, что облегчает реконструкцию отказов в 3 часа ночи на следующее утро.
Где это не получается: Нет конфигурации на основе меток. Каждое расписание находится в пользовательском интерфейсе Cronicle или в файле конфигурации, поэтому дрейф между планировщиком и repo compose зависит от вас. Установка одного сервера по умолчанию использует локальное хранилище файловой системы, что хорошо для homelab и неудобно для кластера.
Ценообразование:
- Бесплатно, лицензия MIT, исходный код на GitHub.
Платформы: Linux, macOS, Windows (через Docker Desktop или Node.js).
Загрузить: Сайт проекта · GitHub
Итоговая строка: Лучший выбор когда кто-то другой, кроме sysadmin’а, должен видеть, прошла ли работа прошлой ночью.
5. Portainer с SleeperStack, лучший если GUI уже существует
Portainer Community Edition — это веб-панель управления, которая у большинства самостоятельно размещающих уже установлена для запуска, остановки, перезагрузки, отслеживания логов и редактирования стека через Docker, Swarm и Kubernetes. Сам по себе он не планирует события жизненного цикла контейнеров. Объединение его с SleeperStack, небольшой сопутствующий контейнер, который читает метки Portainer и выдает вызовы запуска или остановки по расписанию, заполняет единственный пробел и сохраняет рабочий процесс point-and-click. Portainer Business добавляет Edge Compute для автономных сайтов (первые пять узлов бесплатно), но это не связано с локальной работой планирования.
Где это не получается: Два движущихся части вместо одного. Если Portainer или сокет Docker перезагружается, SleeperStack должен чисто переподключиться; протестируйте это один раз перед тем как доверить ему ночное окно.
Ценообразование:
- Portainer CE: бесплатно, исходный код доступен (лицензия Zlib).
- Portainer Business: бесплатно для первых 5 узлов, платно за узел после этого.
- SleeperStack: бесплатно, лицензия MIT.
Платформы: Linux, macOS, Windows (Docker Desktop). Portainer поддерживает arm64 для хостов Raspberry Pi.
Загрузить: Сайт проекта · GitHub
Итоговая строка: Прагматичный выбор для домашних хозяйств, где более чем один человек должен видеть и контролировать контейнеры.
6. Kestra, лучший оркестратор рабочих процессов power-user
Kestra — это полный движок рабочего процесса, который говорит на YAML, и один из его типов задач первого класса — это io.kestra.plugin.docker.Run. Это означает, что запланированный рабочий процесс Kestra может запустить контейнер, подождать выхода, захватить логи, разветвиться на результате и затем запустить что-то еще. Для домашнего хозяйства с стеком медиа, резервной копией rclone, моментальным снимком Home Assistant и ночной прореживанием Restic, оркестрация часто более ценна, чем само расписание. Kestra бесплатна и открыта под Apache 2.0, с платным Pro уровнем $25 в месяц для рабочих групп и RBAC, которые большинству homelabs не понадобятся.
Где это не получается: Kestra — это движок рабочего процесса в первую очередь и планировщик во вторую. Он ожидает Postgres (или встроенный H2 для тестирования), и его отпечаток памяти (примерно 512 МБ в тепле) на порядок больше Ofelia. Избыточно для одного контейнера cron-стиля.
Ценообразование:
- Open-source издание: бесплатно, Apache 2.0.
- Kestra Cloud Pro: с $25 в месяц.
- Enterprise: пользовательское ценообразование.
Платформы: Linux, macOS, Windows (Docker Desktop). Требует Postgres в production.
Загрузить: Сайт проекта · GitHub
Итоговая строка: Выберите Kestra когда проблема планирования на самом деле проблема рабочего процесса переодеяние.
Инструменты, которых люди путают с планировщиками, и что они на самом деле делают
Четыре имени появляются в каждой теме homelab по этому вопросу, но не принадлежат списку выше.
- Watchtower смотрит реестры образов и обновляет работающие контейнеры когда появляется новый тег. Это перезагружает, это не планирует. Используйте это рядом с Ofelia, не вместо.
- Diun это Watchtower без auto-update: он уведомляет когда новый образ доступен и оставляет работающий контейнер в покое. Дополняющий, не планировщик.
- Dockge (автор Louis Lam из Uptime Kuma) это редактор и развертыватель Compose стека с чистым веб-интерфейсом, кнопками запуска/остановки и встроенным терминалом. Отличный для ежедневного вождения Compose; без cron.
- Yacht это еще один легкий веб-интерфейс для Docker, ориентированный на шаблоны. Та же история: ручные управления, нет планировщика.
- Autoheal смотрит Docker health checks и перезагружает контейнеры, которые отправляют unhealthy. Это реагирует на состояние, это не действует на время.
Любой из пяти хорошо сочетается с Ofelia или Chadburn: используйте Dockge для написания стека, добавьте метки Ofelia, позвольте Watchtower держать образы свежими.
Как выбрать правильный
Если хост — это Linux мини-ПК и расписание — это один или два стека, поднимающихся вечером и вниз перед сном, используйте systemd timers. Нечего устанавливать, нечего обновлять, и один вызов systemctl status отвечает на каждый вопрос отладки.
Если более чем одному контейнеру нужно расписание, или расписания должны жить рядом с compose файлами в git repo, запустите Chadburn. Ofelia в порядке если у вас это уже работает; нет причины переходить просто для перехода, но новые развертывания в 2026 должны начаться с форка.
Если человек дежурства для нарушенной работы в 3 часа ночи не является sysadmin’ом, установите Cronicle. Веб-интерфейс, история запусков и политики повторных попыток стоят дополнительного контейнера.
Если домашнее хозяйство уже живет в Portainer и никто не хочет второго интерфейса, добавьте SleeperStack и сохраните рабочий процесс. Если “расписание” на самом деле “запустить три вещи в определенном порядке и отправьте мне email если второй шаг проходит неправильно,” выберите Kestra. И если цель действительно просто держать образы контейнеров свежими, это Watchtower или Diun, не любой инструмент на список выше.
FAQ
Какой лучший бесплатный планировщик контейнеров Docker?
Для большинства людей Chadburn лучший бесплатный выбор в 2026. Это MIT-лицензировано, работает как один контейнер, читает расписания из Docker меток рядом с контейнерами, которыми они управляют, и подбирает изменения меток без перезагрузки. Ofelia это тот же дизайн и равно бесплатно; Chadburn это активно поддерживаемый форк.
Может ли Docker запланировать запуск и остановку контейнеров автоматически?
Не самостоятельно. Встроенная политика Docker restart только решает что делать после выхода контейнера; это не имеет логики времени суток. Чтобы запустить и остановить контейнеры по расписанию, объедините Docker с планировщиком, как Ofelia, Chadburn, Cronicle или systemd timers.
Есть ли встроенный планировщик контейнеров в Portainer?
Нет. Portainer Community Edition и Business Edition оба предлагают ручное управление запуска, остановки и перезагрузки плюс выполнение одного стека, но ни один не имеет планировщика cron-стиля. Чтобы добавить планирование, объедините Portainer с SleeperStack или запустите Ofelia или Chadburn рядом.
Является ли Watchtower планировщиком контейнеров?
Нет. Watchtower смотрит Docker реестры для новых тегов образов и обновляет работающие контейнеры когда одно появляется. Это не имеет синтаксиса cron и не может запустить или остановить контейнер по расписанию времени суток. Используйте это в дополнение к планировщику, как Ofelia, не как замену.
Как экономить энергию на хосте Docker home lab?
Две самые большие выигрыши это отключение контейнеров, которые вам нужны только несколько часов в день (медиа стеки, окружения разработки, цели резервной копии) и позволить хосту спать между запланированными окнами. Планировщик, как Chadburn или пара systemd timers, обрабатывает первое; wake-on-LAN плюс systemctl suspend таймер обрабатывает второе.
Эти инструменты работают на Windows и macOS?
Да. Ofelia, Chadburn, Cronicle, Portainer, Dockge и Kestra все поставляются как Linux контейнеры, которые работают счастливо на Docker Desktop для Windows и macOS. Единственное исключение это systemd, который только Linux; на Windows, Task Scheduler с docker compose командами это близкий эквивалент, и на macOS, launchd играет ту же роль.