Sign inSign up

apimeld/apimeld-scheduler

By apimeld

•Updated 4 months ago

Self-hosted scheduler — write scripts in many languages, scheduled or triggered with live run view

Image
Integration & delivery
API management
Developer tools
0

153

apimeld/apimeld-scheduler repository overview


⁠ApiMeld — Self-Hosted Task Scheduler

Write scripts, schedule them, watch them run. ApiMeld replaces Windows Task Scheduler and scattered cron jobs with a clean web interface your whole team can use.

No subscriptions. No cloud lock-in. Runs on your server.


⁠What it does

- Write scripts in PowerShell, JavaScript, TypeScript, Python, Bash, or C# using a browser-based Monaco editor - Schedule anything with a cron picker — or trigger tasks via webhook or MQTT - Connect data sources — REST APIs and databases with encrypted credential injection - Send notifications to Slack, Microsoft Teams, Mattermost, or email - Watch it run — live log streaming and full execution history - Control access — user roles, task sharing, OIDC/SSO support


⁠Quick Start

Requires a PostgreSQL 14+ instance. See below for a Docker Compose example that includes one.

docker run -d \
  --name apimeld \
  -p 8080:8080 \
  -e SETUP_DB_HOST=your-postgres-host \
  -e SETUP_DB_NAME=apimeld \
  -e SETUP_DB_USERNAME=postgres \
  -e SETUP_DB_PASSWORD=your-password \
  -e [email protected] \
  -e SETUP_ADMIN_PASSWORD=YourSecurePassword1 \
  -e App__BaseUrl=http://localhost:8080 \
  -v apimeld_config:/app/config \
  apimeld/apimeld-scheduler:latest

Open http://localhost:8080 — the app configures itself on first boot.

▎ Always mount /app/config — this is where ApiMeld stores its generated configuration (encryption keys, connection strings). Without it, config is lost on container restart.

---
Docker Compose (with PostgreSQL)

services:
  app:
    image: apimeld/apimeld-scheduler:latest
    ports:
      - "8080:8080"
    environment:
      - SETUP_DB_HOST=db
      - SETUP_DB_NAME=apimeld
      - SETUP_DB_USERNAME=postgres
      - SETUP_DB_PASSWORD=yourpassword
      - [email protected]
      - SETUP_ADMIN_PASSWORD=YourSecurePassword1
      - App__BaseUrl=http://localhost:8080
    volumes:
      - apimeld_config:/app/config
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: apimeld
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: yourpassword
    volumes:
      - pg_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  apimeld_config:
  pg_data:

docker compose up -d

---
## Key Environment Variables

**Required:**
- `SETUP_DB_HOST` — PostgreSQL hostname or IP
- `SETUP_DB_NAME` — Database name
- `SETUP_DB_USERNAME` — Database user
- `SETUP_DB_PASSWORD` — Database password
- `SETUP_ADMIN_EMAIL` — Initial admin account email
- `SETUP_ADMIN_PASSWORD` — Initial admin password (8+ chars, uppercase, digit)
- `App__BaseUrl` — Public-facing URL, used in email links and CORS

**Optional:**
- `PROXY_ENABLED=true` — Set when running behind a reverse proxy
- `TLS_ENABLED=true` — Enable direct HTTPS via Kestrel

Full reference: [apimeld.com/guide/environment-variables](https://apimeld.com/guide/environment-variables)

---
Replace the Ports section with:

## Ports

- `8080` — HTTP, always active
- `8443` — HTTPS, only when `TLS_ENABLED=true`

Map to any external port with `-p`. If using a reverse proxy on a shared Docker network, no ports need to be exposed to the host.

---
Documentation

Full documentation at https://apimeld.com/guide

- Quick Start (https://apimeld.com/guide/quick-start)
- Reverse Proxy setup (https://apimeld.com/guide/reverse-proxy)
- Writing Scripts (https://apimeld.com/guide/scripts-overview)
- Environment Variables (https://apimeld.com/guide/environment-variables)

---
Licensing

ApiMeld is a commercial self-hosted application. A license key is required to run the application.

- Free 30-day trial — no credit card required → https://apimeld.com/trial
- Perpetual licenses from $49 → https://apimeld.com/pricing

Questions? [email protected]

Tag summary

Content type

Image

Digest

sha256:643737690…

Size

410.8 MB

Last updated

4 months ago

docker pull apimeld/apimeld-scheduler