LinuxmacOS

Where Does Dagster Store Runs and Config?

Dagster persists runs and logs under DAGSTER_HOME, with config in dagster.yaml. Home semantics plus the empty variable gotcha.

Last updated

Dagster keeps instance state in one directory chosen by the DAGSTER_HOME variable. That folder holds dagster.yaml plus history (run databases) and storage (per run compute logs). Point every Dagster process at the same home or they each see a different world.

The sharp edge: with DAGSTER_HOME unset, tools silently use a temporary directory that vanishes on exit. Ephemeral sessions are fine for throwaway tests and terrible for anything you want tomorrow. Sensors and schedules persist here too, so a wiped home forgets every automation you configured.

Where Dagster stores this, by platform

Linux
$DAGSTER_HOME (conventionally ~/.dagster_home)

dagster.yaml plus history/ and storage/ underneath. Convention is ~/.dagster_home or /opt/dagster/dagster_home. Unset variable means a temp dir that is wiped on exit.

macOS
$DAGSTER_HOME (conventionally ~/.dagster_home)

Same variable semantics on Mac. Export it in your shell profile so the webserver, daemon and CLI share one home instead of three temp dirs.

Frequently asked questions

Where should I set DAGSTER_HOME?

Set DAGSTER_HOME to a permanent folder before running anything. Docs suggest ~/.dagster_home or /opt/dagster/dagster_home. Without it every session starts blank, which looks exactly like data loss.

How do I back up a local Dagster instance?

Copy the whole DAGSTER_HOME directory with the daemon stopped. history holds run databases and storage holds compute logs. The dagster.yaml beside them is small but required for the same behavior.

Notice an outdated path? Let us know.