
A small utility written in Rust that allows scheduling Docker commands to be executed on containers (typically to perform database dumps within a Docker Compose setup).
docker-compose -f docker-compose.example.yml up --build
services:
crooner:
image: agjini/crooner:0.1.3
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./config.toml:/app/config.toml:ro
- ./backups:/backups
restart: unless-stopped
Create a config.toml file:
[[jobs]]
name = "PostgreSQL Backup"
at = "0 0 2 * * *" # Every day at 2:00 AM
container = "postgres-container"
command = ["pg_dump", "-U", "postgres", "mydb"]
output_file = "/backups/postgres_backup.sql"
run_on_startup = true
# You can define as many jobs as you want by repeating [[jobs]]
name: Job identifier (string)at: Cron expression (format: second minute hour day month weekday)container: Target container name (string)command: Command to execute (array of strings)output_file: Optional output file path to write the output of the command (string)run_on_startup: Execute immediately on startup (boolean, default: false)┌───────────── second (0-59)
│ ┌─────────── minute (0-59)
│ │ ┌───────── hour (0-23)
│ │ │ ┌─────── day (1-31)
│ │ │ │ ┌───── month (1-12)
│ │ │ │ │ ┌─── weekday (0-6, 0=Sunday)
│ │ │ │ │ │
* * * * * *
Examples:
0 0 2 * * * - Every day at 2:00 AM0 */15 * * * * - Every 15 minutes0 0 0 1 * * - First day of every month at midnightControl log level with RUST_LOG environment variable:
environment:
- RUST_LOG=info # info (default), debug, trace
cargo build --release
MIT
$ claude mcp add crooner \
-- python -m otcore.mcp_server <graph>