Version v0.4.0 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot. For up-to-date documentation, see the latest version.

Quickstart

Get Leoflow Lite running locally in two commands — the fastest path to a running DAG.

Get Leoflow Lite running locally in two commands. Lite is the local edition (Pro is chart-installable and in validation — see Operating modes); run it on your machine or a trusted internal network — see Editions.

Prerequisites

  • One of the following for the datastores:
    • Docker running (preferred — Lite spins up postgres:16 automatically), OR
    • Nothing — Lite falls back to an embedded managed Postgres downloaded under ~/.leoflow (no Docker, no system Postgres needed). See Editions § Datastores for the auto-selection logic.
  • Linux or macOS (incl. WSL2). No system Python needed — Lite installs a managed one. See Installation for details.

1 · Install

curl -fsSL https://raw.githubusercontent.com/neochaotic/leoflow/main/install.sh | sh

This installs the binaries to a directory on your PATH (e.g. /usr/local/bin) and runs the setup wizard, which asks a few questions — press Enter to accept each [default]:

  • Where your DAGs live (workspace) — default ~/leoflow
  • How tasks runsubprocess (each task as a process on this machine — simple, no Docker, recommended) or k8s (real pod-per-task on a local mini-Kubernetes — mirrors Pro, needs Docker). The wizard also accepts the friendly aliases local (= subprocess) and cluster (= k8s).
  • Admin email — default admin@leoflow.local

It then fetches a managed Python + the editor, creates your workspace, and prints your admin password once (leoflow lite reset-password resets it):

── Leoflow Lite admin (save this — it is shown only once) ──
  user:     admin@leoflow.local
  password: tiger98

(Piping non-interactively, or re-running with an existing config, skips the questions and uses the defaults — which are always printed, so you are never guessing.) If the installer added a PATH line to your shell profile, open a new terminal (or source it); installing to /usr/local/bin needs no reload.

2 · Run it

leoflow lite

That’s it. With no arguments, leoflow lite:

  1. scaffolds a starter DAG in your workspace (if it has none yet),
  2. brings up Postgres — Docker postgres:16 when Docker is present, else an embedded managed Postgres (no Redis required, see Editions),
  3. starts the control plane and prints where to go:
✓ Leoflow Lite is ready
    open:    http://127.0.0.1:8088
    login:   admin@leoflow.local
    project: /home/you/leoflow

Open that URL, log in with the password from step 1, and the DAG shows up in the Airflow-compatible UI. leoflow lite keeps running and hot-reloads on every save — press Ctrl-C to stop.

3 · Trigger your first run

leoflow lite scaffolds a starter DAG on first boot, so there is something to run right away.

  1. Open http://127.0.0.1:8088 and log in — the scaffolded DAG is listed on the Dags page.

    The Dags list with the scaffolded DAG

  2. Click the DAG to open it, then press ▶ Trigger (top-right) to start a run.

  3. Watch the grid fill in — each task goes yellow (running), then green (success). A fully green column is a successful run.

    A green grid after a successful run, with the run-duration overview

That is the whole loop: author, trigger, watch it go green.

4 · Edit your DAG

Click the < > IDE button (bottom-right of the UI) to open the built-in web editor — file tree + Python/YAML highlighting. Edit dag.py, save, and the DAG reloads in a couple of seconds. (Reload the browser tab to see structure changes; run state auto-refreshes.) Details: the Lite web editor.

Useful commands

leoflow doctor                       # check platform, deps, and what's achievable
leoflow lite --host 0.0.0.0          # reachable from your internal network
leoflow lite reset-password     # set a new admin password (after first run)
leoflow uninstall                    # remove the install (--purge for workspace + volumes)

Next