Skip to content

What is ApiMeld?

ApiMeld is a self-hosted task scheduler for developers and teams. It replaces clunky tools like Windows Task Scheduler and cron with a clean web interface where you can write, test, and schedule scripts without ever touching a server directly.

The problem it solves

Most teams eventually accumulate a collection of scripts that need to run on a schedule — nightly data syncs, report generators, API polling jobs, cleanup routines. These end up scattered across:

  • Windows Task Scheduler (hard to audit, no logs, breaks on server reboots)
  • Random cron jobs on servers nobody documents
  • Scheduled GitHub Actions or CI pipelines (overkill for simple tasks)
  • Someone's laptop running a Python script at midnight

ApiMeld gives all of these a single home with a web UI, execution logs, notifications, and proper access control.

Key concepts

Tasks are the core unit. Each task has a script body (PowerShell, JavaScript/TypeScript, C#, Python, or Bash), an optional schedule, and optional trigger configuration (webhook or MQTT). Tasks can be run on demand at any time via the UI or API.

Data Sources are connections to external systems — databases or REST APIs — whose credentials are encrypted and injected into scripts at runtime. Scripts reference datasources by name; they never see raw passwords or tokens.

Notifications let tasks send results to Slack, Microsoft Teams, Mattermost, or email when they complete. Configured once, used across all tasks.

Run History keeps a full log of every execution — output, errors, duration, and status — searchable from the admin panel.

How it runs

ApiMeld is distributed as a single Docker container. It needs a PostgreSQL database (external — bring your own) and serves the web UI and API from the same port. No separate frontend server, no microservices.

┌─────────────────────────────────┐
│         Docker Container         │
│                                  │
│  .NET 10 API  +  Vue 3 SPA       │
│  Quartz.NET scheduler            │
│  Node.js (JS/TS execution)       │
│  PowerShell 7 (PS execution)     │
│  Python 3 (Python execution)     │
│  Bash (shell execution)          │
│  Roslyn (C# execution)           │
└──────────────┬───────────────────┘


         PostgreSQL (external)

What it is not

  • Not a CI/CD pipeline — use GitHub Actions or Gitea for that
  • Not a workflow orchestrator — tasks are independent; there's no DAG or dependency graph between tasks
  • Not a distributed job queue — single-node by default (Quartz clustering is supported for HA but not required)

ApiMeld Task Scheduler