[{"data":1,"prerenderedAt":534},["ShallowReactive",2],{"docs-nav":3,"docs:\u002Fdocs\u002Freference\u002Fenvironment-variables":139},[4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121,124,127,130,133,136],{"path":5,"title":6},"\u002Fdocs\u002Faccess-gating","Protect a local route",{"path":8,"title":9},"\u002Fdocs\u002Farchitecture\u002Fsecurity-and-trust","Security and trust",{"path":11,"title":12},"\u002Fdocs\u002Fconcepts\u002Fbuilds-and-deployments","Build and deploy",{"path":14,"title":15},"\u002Fdocs\u002Fconcepts\u002Fconfiguration-ownership","Where configuration belongs",{"path":17,"title":18},"\u002Fdocs\u002Fconcepts\u002Fenvironments-and-secrets","Environment values and secrets",{"path":20,"title":21},"\u002Fdocs\u002Fconcepts\u002Fmental-model","How projects fit together",{"path":23,"title":24},"\u002Fdocs\u002Fconcepts\u002Fplans-and-apply","Plans and apply",{"path":26,"title":27},"\u002Fdocs\u002Fconcepts\u002Ftargets-and-runtimes","Choose a target and runtime",{"path":29,"title":30},"\u002Fdocs\u002Fcontribute\u002Freleases","Publish a release",{"path":32,"title":33},"\u002Fdocs\u002Fdevelopment-mounts","Development mounts",{"path":35,"title":36},"\u002Fdocs\u002Fgetting-started","Getting started",{"path":38,"title":39},"\u002Fdocs\u002Fhelp\u002Ffaq","FAQ",{"path":41,"title":42},"\u002Fdocs\u002Fhelp\u002Ftroubleshooting","Troubleshooting",{"path":44,"title":45},"\u002Fdocs\u002Fhow-to\u002Fdeploy-production","Prepare a deployment environment",{"path":47,"title":48},"\u002Fdocs\u002Fhow-to\u002Fswarm-cluster","Run on a multi-node Swarm",{"path":50,"title":51},"\u002Fdocs","mm documentation",{"path":53,"title":54},"\u002Fdocs\u002Fjobs-and-schedules","Jobs and schedules",{"path":56,"title":57},"\u002Fdocs\u002Flocal-dashboard","Local dashboard",{"path":59,"title":60},"\u002Fdocs\u002Flocal-https","Local HTTPS",{"path":62,"title":63},"\u002Fdocs\u002Flocal-services","Local services",{"path":65,"title":66},"\u002Fdocs\u002Fmcp","Let an AI agent work on your project",{"path":68,"title":69},"\u002Fdocs\u002Fmulti-project-hosts","Run multiple projects on one host",{"path":71,"title":72},"\u002Fdocs\u002Fonboarding","Set up a project",{"path":74,"title":75},"\u002Fdocs\u002Fopenbao","Use OpenBao",{"path":77,"title":78},"\u002Fdocs\u002Fproject\u002Fcontributing","Contributing",{"path":80,"title":81},"\u002Fdocs\u002Fproject\u002Flicense","License",{"path":83,"title":84},"\u002Fdocs\u002Fproject\u002Fsecurity","Security",{"path":86,"title":87},"\u002Fdocs\u002Freference\u002Fcapability-matrix","Supported features and platforms",{"path":89,"title":90},"\u002Fdocs\u002Freference\u002Fcli","CLI command reference",{"path":92,"title":93},"\u002Fdocs\u002Freference\u002Fconfiguration","Configuration",{"path":95,"title":96},"\u002Fdocs\u002Freference\u002Fenvironment-variables","Environment variables",{"path":98,"title":99},"\u002Fdocs\u002Freference\u002Ferrors-and-exit-codes","Errors and exit codes",{"path":101,"title":102},"\u002Fdocs\u002Freference\u002Fknown-issues","Known limitations",{"path":104,"title":105},"\u002Fdocs\u002Fremote-access","Manage remote access",{"path":107,"title":108},"\u002Fdocs\u002Fremote-daemon","Set up a remote host",{"path":110,"title":111},"\u002Fdocs\u002Fruntime-observability","Status, logs, and commands",{"path":113,"title":114},"\u002Fdocs\u002Fsecret-delivery","Pass secrets to your app",{"path":116,"title":117},"\u002Fdocs\u002Fsecret-providers","Choose a secret store",{"path":119,"title":120},"\u002Fdocs\u002Fstart\u002Finstall","Install mm",{"path":122,"title":123},"\u002Fdocs\u002Fterminal-ui","Terminal UI",{"path":125,"title":126},"\u002Fdocs\u002Ftutorials\u002Fdotnet-web-api",".NET web API example",{"path":128,"title":129},"\u002Fdocs\u002Ftutorials\u002Ffirst-local-app","First local app",{"path":131,"title":132},"\u002Fdocs\u002Ftutorials\u002Flaravel-rust","Laravel and Rust example",{"path":134,"title":135},"\u002Fdocs\u002Ftutorials\u002Fnode-fullstack","Node full stack example",{"path":137,"title":138},"\u002Fdocs\u002Fvault","Use HashiCorp Vault",{"id":140,"title":96,"body":141,"description":527,"extension":528,"meta":529,"navigation":530,"path":95,"seo":531,"stem":532,"__hash__":533},"docs\u002Fdocs\u002Freference\u002Fenvironment-variables.md",{"type":142,"value":143,"toc":520},"minimark",[144,154,159,252,270,274,277,328,331,358,361,378,381,385,392,454,461,472,476,496,500,516],[145,146,147,148,153],"p",{},"These variables configure mm itself. Application variables belong in project\nbindings and templates; see ",[149,150,152],"a",{"href":151},"..\u002Fconcepts\u002Fenvironments-and-secrets","environment values",".",[155,156,158],"h2",{"id":157},"stable-mm-controls","Stable mm controls",[160,161,162,175],"table",{},[163,164,165],"thead",{},[166,167,168,172],"tr",{},[169,170,171],"th",{},"Variable",[169,173,174],{},"Behavior",[176,177,178,197,210,222,235],"tbody",{},[166,179,180,187],{},[181,182,183],"td",{},[184,185,186],"code",{},"MM_ENVIRONMENT",[181,188,189,190,193,194,153],{},"Selects the environment. ",[184,191,192],{},"--environment"," overrides it; otherwise the project uses ",[184,195,196],{},"default-environment",[166,198,199,204],{},[181,200,201],{},[184,202,203],{},"MM_HOME",[181,205,206,207,153],{},"Overrides mm's local state, target catalog, identities, and private connection root. Equivalent to ",[184,208,209],{},"--mm-home",[166,211,212,217],{},[181,213,214],{},[184,215,216],{},"MM_AGE_IDENTITY_FILE",[181,218,219,220,153],{},"Overrides the age identity path; the default is the age identity beneath ",[184,221,203],{},[166,223,224,229],{},[181,225,226],{},[184,227,228],{},"MM_LOG_FORMAT",[181,230,231,234],{},[184,232,233],{},"json"," selects JSON tracing on stderr; other values use text tracing.",[166,236,237,242],{},[181,238,239],{},[184,240,241],{},"RUST_LOG",[181,243,244,245,248,249,153],{},"Standard tracing filter consumed by mm, for example ",[184,246,247],{},"mm=debug",". The default filter is ",[184,250,251],{},"warn",[145,253,254,255,258,259,258,262,265,266,269],{},"Command-line ",[184,256,257],{},"--root",", ",[184,260,261],{},"--runtime",[184,263,264],{},"--target",", and ",[184,267,268],{},"--output"," do not have\nenvironment-variable aliases.",[155,271,273],{"id":272},"runtime-variables-inherited-by-child-engines","Runtime variables inherited by child engines",[145,275,276],{},"Runtime subprocesses start from an explicit allowlist, not the complete mm\nenvironment. All supported runtimes may receive:",[145,278,279,258,282,258,285,258,288,258,291,258,294,258,297,258,300,303,304,258,307,258,310,258,313,258,316,303,319,258,322,265,325,153],{},[184,280,281],{},"PATH",[184,283,284],{},"HOME",[184,286,287],{},"USER",[184,289,290],{},"LOGNAME",[184,292,293],{},"LANG",[184,295,296],{},"LC_ALL",[184,298,299],{},"LC_CTYPE",[184,301,302],{},"TMPDIR",",\n",[184,305,306],{},"TMP",[184,308,309],{},"TEMP",[184,311,312],{},"XDG_RUNTIME_DIR",[184,314,315],{},"XDG_CONFIG_HOME",[184,317,318],{},"XDG_DATA_HOME",[184,320,321],{},"XDG_CACHE_HOME",[184,323,324],{},"DBUS_SESSION_BUS_ADDRESS",[184,326,327],{},"SSH_AUTH_SOCK",[145,329,330],{},"Podman Compose may additionally receive:",[145,332,333,258,336,258,339,303,342,258,345,303,348,258,351,354,355,153],{},[184,334,335],{},"CONTAINER_HOST",[184,337,338],{},"CONTAINER_CONNECTION",[184,340,341],{},"REGISTRY_AUTH_FILE",[184,343,344],{},"CONTAINERS_CONF",[184,346,347],{},"CONTAINERS_STORAGE_CONF",[184,349,350],{},"CONTAINERS_REGISTRIES_CONF",[184,352,353],{},"CONTAINERS_POLICY",", and\n",[184,356,357],{},"PODMAN_COMPOSE_PROVIDER",[145,359,360],{},"Docker Compose and Docker Swarm may additionally receive:",[145,362,363,258,366,258,369,258,372,354,375,153],{},[184,364,365],{},"DOCKER_HOST",[184,367,368],{},"DOCKER_CONTEXT",[184,370,371],{},"DOCKER_TLS_VERIFY",[184,373,374],{},"DOCKER_CERT_PATH",[184,376,377],{},"DOCKER_CONFIG",[145,379,380],{},"Unset variables are omitted. Values compiled from project bindings are added\nseparately for the operation and are redacted from command records.",[155,382,384],{"id":383},"provider-variables","Provider variables",[145,386,387,388,391],{},"The ",[184,389,390],{},"env"," secret-storage provider reads the variable named by each declaration:",[393,394,399],"pre",{"className":395,"code":396,"language":397,"meta":398,"style":398},"language-yaml shiki shiki-themes mm","secrets:\n  ci.token:\n    storage:\n      provider: env\n      location: CI_TOKEN\n","yaml","",[184,400,401,414,422,430,443],{"__ignoreMap":398},[402,403,406,410],"span",{"class":404,"line":405},"line",1,[402,407,409],{"class":408},"sWZmh","secrets",[402,411,413],{"class":412},"sIbZ0",":\n",[402,415,417,420],{"class":404,"line":416},2,[402,418,419],{"class":408},"  ci.token",[402,421,413],{"class":412},[402,423,425,428],{"class":404,"line":424},3,[402,426,427],{"class":408},"    storage",[402,429,413],{"class":412},[402,431,433,436,439],{"class":404,"line":432},4,[402,434,435],{"class":408},"      provider",[402,437,438],{"class":412},":",[402,440,442],{"class":441},"sv8ni"," env\n",[402,444,446,449,451],{"class":404,"line":445},5,[402,447,448],{"class":408},"      location",[402,450,438],{"class":412},[402,452,453],{"class":441}," CI_TOKEN\n",[145,455,456,457,460],{},"Here ",[184,458,459],{},"CI_TOKEN"," is a provider input, not an mm control and not automatically\nforwarded to container engines. Locations must be valid environment names and\ncannot collide with mm's runtime-reserved interpolation names.",[145,462,463,464,467,468,471],{},"OpenBao and Vault credentials are stored in named private connections. Their\nconventional client variables such as ",[184,465,466],{},"VAULT_ADDR"," and ",[184,469,470],{},"VAULT_TOKEN"," are not a\npublic configuration mechanism for mm.",[155,473,475],{"id":474},"workload-variables","Workload variables",[145,477,478,479,482,483,303,486,258,489,258,492,495],{},"Project bindings and module environment templates define workload variables.\nThe generated ",[184,480,481],{},"MM_ENV_*"," placeholders used during runtime interpolation and the\ndefault development-mail variables (",[184,484,485],{},"MM_MAIL_SMTP_HOST",[184,487,488],{},"MM_MAIL_SMTP_PORT",[184,490,491],{},"MM_MAIL_SMTP_URL",[184,493,494],{},"MM_MAIL_UI_URL",") belong to generated\nworkload delivery, not to mm process configuration.",[155,497,499],{"id":498},"internal-and-test-variables","Internal and test variables",[145,501,502,503,258,506,303,509,258,512,515],{},"Variables used only by source tests, live-conformance harnesses, or internal\nservice wiring are not public API. This includes ",[184,504,505],{},"MM_TEST_*",[184,507,508],{},"MM_LIVE_*",[184,510,511],{},"MM_CAP_INTERNAL_ENDPOINT",[184,513,514],{},"MM_CAP_ADMIN_ENDPOINT",", and similarly scoped\nfixture variables. They may change or disappear without compatibility notice.",[517,518,519],"style",{},"html pre.shiki code .sWZmh, html code.shiki .sWZmh{--shiki-default:var(--mm-code-key)}html pre.shiki code .sIbZ0, html code.shiki .sIbZ0{--shiki-default:var(--mm-code-punctuation)}html pre.shiki code .sv8ni, html code.shiki .sv8ni{--shiki-default:var(--mm-code-string)}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":398,"searchDepth":416,"depth":416,"links":521},[522,523,524,525,526],{"id":157,"depth":416,"text":158},{"id":272,"depth":416,"text":273},{"id":383,"depth":416,"text":384},{"id":474,"depth":416,"text":475},{"id":498,"depth":416,"text":499},"Public mm controls, runtime inheritance, and provider inputs.","md",{},true,{"title":96,"description":527},"docs\u002Freference\u002Fenvironment-variables","awjnrFpnBtG02QpejIs7bRONlvorf1pEuYxcBTrtQns",1794512546199]