Job runner and scheduler. Run your server-side background tasks or jobs in a neat way.
Find a file
2024-07-26 14:35:43 +02:00
assets/styles feat(logs): store stderr and stdout with details in dedicated log messages table 2024-07-26 14:35:43 +02:00
examples feat(logs): store stderr and stdout with details in dedicated log messages table 2024-07-26 14:35:43 +02:00
migrations feat(logs): store stderr and stdout with details in dedicated log messages table 2024-07-26 14:35:43 +02:00
src feat(logs): store stderr and stdout with details in dedicated log messages table 2024-07-26 14:35:43 +02:00
.env.example initial commit 2024-04-27 11:59:43 +02:00
.gitignore initial commit 2024-04-27 11:59:43 +02:00
Cargo.lock feat(logs): store stderr and stdout with details in dedicated log messages table 2024-07-26 14:35:43 +02:00
Cargo.toml feat(logs): store stderr and stdout with details in dedicated log messages table 2024-07-26 14:35:43 +02:00
config.example.yaml feat: storing tasks runs in Sqlite DB 2024-07-21 17:11:42 +02:00
config.yaml feat(logs): store stderr and stdout with details in dedicated log messages table 2024-07-26 14:35:43 +02:00
LICENSE docs: add GPLv3 license 2024-07-21 17:23:32 +02:00
README.md feat: webhook with debounce support 2024-07-25 13:07:28 +02:00
TODO.md feat(logs): store stderr and stdout with details in dedicated log messages table 2024-07-26 14:35:43 +02:00

Autotasker

Autotasker is a small server-side job runner and scheduler.

Autotasker free software licenced under GPLv3.

Getting started

  • Create a config file to define your tasks.
  • Deploy the server (using git clone + cargo or docker or binary + systemd service).
  • Enjoy!

Philosophy

Unix-like

  • Small.
  • Can be configured with a file.
  • Can be interfaced easily.

Features

  • List the tasks availables.
  • Run tasks in background.
  • Store the logs and tasks runs in a sqlite DB.
  • Schedule tasks (CRON-like).
  • OpenMetrics exporter to alert when a task failed.
  • External alerting when a task failed.
  • Trigger task via webhook, with a webhook token and debouncing.
  • Content negociation with JSON or HTML.
  • OAuth2 support for admin.

Vocabulary

  • Task is a configured command to be run.
  • TaskRun refer to a singular task run.

Built with

  • Axum for web server.
  • Tera for templating.
  • Sqlx to interact with Sqlite.
  • Sqlite for storing state and logs.