Environment reference
The environment variables by topic: which are required, which nodes use them, what each means, and what it accepts.
The variables are grouped by topic, and each has one row. The Used by column names the nodes that read it. In each table the required variables come first. This page leaves out the settings that have a working default; the ones you use often are in Configure a node.
How to read the tables
A Yes variable must be set before the platform runs for real: without it the node refuses to start. In development the node only warns. When a variable is required on only some nodes, the Required column names them. The related checks are in Preflight check reference.
Platform
| Variable | Required | Used by | Meaning | Accepted value |
|---|---|---|---|---|
PLATFORM_URL | Yes | core-services | The platform's public address. Every installed app's URL and every logo URL is built from it | An absolute http(s) URL |
Databases
| Variable | Required | Used by | Meaning | Accepted value |
|---|---|---|---|---|
DATASTORE_URL | Yes | core-services, authorization-server, item-services, file-services, logging-services, tile-services, realtime-services, background-services | The Datastore, which holds users, groups, Items, OAuth clients and installed apps | A mongodb:// or mongodb+srv:// URL |
CONTENT_STORE_URL | Yes, but on authorization-server it is not needed if FILE_STORE_URL is set | core-services, authorization-server, item-services, file-services, tile-services, tile-indexer, realtime-services, background-services | The Content store, which holds Records and files. With FILE_STORE_URL set, files go there instead | A mongodb:// or mongodb+srv:// URL; on tile-indexer it must be the URL of a replica set |
SESSION_STORE_URL | Yes | authorization-server | The Session store, which holds sessions, signing keys, password recovery data and two-factor secrets | A mongodb:// or mongodb+srv:// URL |
LOG_STORE_URL | Yes | logging-services | The Log store, which holds the Audit log, the legacy logs from v4 and the usage figures | A mongodb:// or mongodb+srv:// URL |
FILE_STORE_URL | No | core-services, authorization-server, item-services, file-services, background-services | Where file contents live. Unset: files live in the Content store | A mongodb:// or mongodb+srv:// URL |
Moleculer
| Variable | Required | Used by | Meaning | Accepted value |
|---|---|---|---|---|
TRANSPORTER | Yes | every node | The broker every node of the platform shares, such as nats://<host>:4222, or TCP if the whole platform is on one machine. Unset: a node cannot see the others | nats://<host>:4222 or tcp. The other transporters are redis, amqp, amqp10, mqtt, kafka and stan |
NAMESPACE | Yes | every node | The namespace every node shares, usually awhere. Nodes in different namespaces cannot see each other | Letters, digits, ".", "_" and "-" |
CACHER | No | every node | The node's cache. Unset: kept in the node's own memory | Unset or memory to keep it in memory, or a redis:// URL (Redis must answer) |
Audit log
| Variable | Required | Used by | Meaning | Accepted value |
|---|---|---|---|---|
ACTIVITY_CHANNEL_URL | Yes, on logging-services | core-services, authorization-server, item-services, file-services, logging-services, background-services | The NATS server whose JetStream carries Activity to the Audit log. Unset: the nats:// TRANSPORTER is used | A nats:// URL; the server must run with -js |
Redis
| Variable | Required | Used by | Meaning | Accepted value |
|---|---|---|---|---|
TASK_MANAGER_REDIS_HOST | Yes | background-services | The Redis that holds the import queue. Unset: no import runs | Any text |
TASK_MANAGER_REDIS_PORT | No | background-services | The Redis port. Default: 6379 | A port number, 1 to 65535 |
TASK_MANAGER_REDIS_USER | No | background-services | The Redis user name, if Redis needs one | Any text |
TASK_MANAGER_REDIS_PASS | No | background-services | The Redis password, if Redis needs one | Any text |
TASK_MANAGER_REDIS_DB | No | background-services | The Redis database number. Default: 0 | A number, 0 or more |
LDAP
| Variable | Required | Used by | Meaning | Accepted value |
|---|---|---|---|---|
LDAP_DOMAIN | Yes | user-provider-ldap | The directory server, such as ldaps://dc.example.com:636 | Any text |
LDAP_BASE | Yes | user-provider-ldap | The base DN that users are searched under | Any text |
LDAP_USER | Yes | user-provider-ldap | The account the plugin binds as to search the directory | Any text |
LDAP_PASS | Yes | user-provider-ldap | That account's password | Any text |
Troubleshooting
The commands to run first, what a node says when it will not start, a Migration that failed, and what the System page reports
Preflight check reference
Every check a node runs before it starts: its id, which nodes run it, what it prints when it fails, what to do, and whether it refuses in production.