Quickstart¶
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:16automatically), 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.
- Docker running (preferred β Lite spins up
- Linux or macOS (incl. WSL2). No system Python needed β Lite installs a managed one. See Installation for details.
1 Β· Install¶
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 run:
local(each task as a process on this machine β simple, no Docker, recommended) orcluster(real pod-per-task on a local mini-Kubernetes β mirrors Pro, needs Docker) - 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¶
That's it. With no arguments, leoflow lite:
- scaffolds a starter DAG in your workspace (if it has none yet),
- brings up Postgres β Docker
postgres:16when Docker is present, else an embedded managed Postgres (no Redis required, see Editions), - 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.
Open it from another machine (internal network / VPN)
Lite binds loopback by default. To reach it from your LAN, add --host
0.0.0.0 β the banner then prints your machine's IP
(http://192.168.x.y:8088). It is honored only with a login configured, and
Lite is for trusted networks only β never the public internet.
3 Β· 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¶
- DAG authoring β the dialect,
leoflow.yaml, overrides. - The
leoflow liteworkflow β the editβreload loop, executors. - CI/CD & deploy examples β ship it.
- Editions β Lite (now) vs Pro (coming).