Run scheduled Service tasks

Scheduled tasks let Coolify run a command inside a Service container on a recurring schedule. Use them for framework schedulers, queue maintenance, report generation, cache cleanup, and other work that belongs inside one component.

Coolify runs the command through a shell inside a running container. The schedule uses the timezone configured for the Service's deployment server.

Detailed scheduled-task reference

This page covers the Service workflow. The Scheduled Tasks section in Core explains task creation, management, execution history, output downloads, cron behavior, and troubleshooting in more detail.

Open Scheduled Tasks

Open the Service page

Open the Service and select Configuration > Scheduled Tasks.

Choose the detailed guide

Select + Add to start a task, or select an existing task to manage it. Follow the scheduled task guide on Core for the complete field-by-field procedure.

Run the first execution

Open the task and select Execute Now while the target Service component is running.

Open the new record under Recent executions. Confirm that it finishes successfully and that its output or effect matches what the command should produce.

Service-specific behavior

At execution time, Coolify finds the running application and database containers that belong to the Service and runs the saved command through sh -c in the selected container.

Before following the detailed guide, check these Service-specific requirements:

  • Test commands that change or delete data through Terminal in the target component first.
  • Enter the command as it should run inside the container; do not include docker exec.
  • Set Container name to the Compose service name when the Service has more than one running component.
  • Use the Compose service name without the generated -<service-uuid> suffix. For example, select worker for worker-<service-uuid>.
  • The schedule uses the timezone configured for the Service's deployment server.
  • Timeout (seconds) accepts 60 to 36000 and defaults to 300.

When exactly one component container is running, Coolify can use it without a saved container name. An execution fails when no Service container is running, several containers are available without a selected name, the configured component cannot be found, the command exits with an error, or the command exceeds its timeout.

Coolify records the status, timing, and captured output under Recent executions. A successful exit does not prove that the command produced the intended result, so verify the affected records, files, or external system when necessary.

When you rename or remove a Compose service, update or delete every scheduled task that targets its previous name. Coolify does not automatically retarget the task to another component.

Use the detailed Core guides

On this page