Mandala reads its configuration from the environment, usually the file named by EnvironmentFile= in its systemd unit (~/.mandala/mandala.env). Empty values count as unset. Restart after a change.
Core
Variable
Default
Meaning
ALMA_DATA_DIR
~/.alma
The data directory. Set it (usually ~/.mandala).
ALMA_LISTEN
127.0.0.1:8787
Address and port of the Workspace and API
ALMA_WEB_ROOT
the bundled build, if present
Directory of the built web app
ALMA_LOG
info
Log filter (debug, info,alma_dharma=debug)
ALMA_TIMEZONE
Asia/Manila
Your time zone (IANA name); routines run in it
Who you are
Variable
Default
Meaning
ALMA_OWNER_NAME
unset
Your first name, for a node configured without the first-run assistant
MANDALA_PRINCIPAL
julien
Your internal handle
MANDALA_TENANT
julien
The tenant your records live in
ALMA_AGENT_ID
alma
Your accomplice's agent id
Leave ALMA_OWNER_NAME and MANDALA_PRINCIPAL unset on a new home: the first-run assistant then asks your first name. Setting either marks the node as set up by environment (no assistant, no sign-in until you add a passkey). Never change the handles once records exist.
Accounts
Variable
Default
Meaning
MANDALA_LOGIN
the account's choice
required or off forces sign-in on or off
MANDALA_RP_ID
your tailnet name, or the host
The site name passkeys are bound to. Keep it stable.
MANDALA_DEVICE_NAME
the host name
This device's name when joining
MANDALA_PAIR_LOOKUPS
on
off disables finding the other device through the DHT when joining by code
Vaults and tasks
Variable
Default
Meaning
ALMA_GOETHE_JULIEN_ROOT
unset
Your own vault's directory (the name is historical; it is yours)
ALMA_GOETHE_AGENT_ROOTS
unset
JSON: agent id → its private vault, {"alma":"/path"}
ALMA_TASK_DOCUMENT
docs/agenda.md
Where new tasks go in your vault
Routines
Variable
Default
Meaning
ALMA_MORNING_TIME
07:30
Morning briefing, local HH:MM, or off
ALMA_DIARY_TIME
23:30
Nightly diary, or off
Contracts
Variable
Default
Meaning
MANDALA_CONTRACTS
unset
Extra contract files or directories, separated by :
Contracts installed from the Workbench (<data>/contracts) load automatically.
Keys (copied into the encrypted store at each start)