Storage Properties
The $storage.* namespace exposes the filesystem path the provider actually provisioned for a declared storage: volume, resolved at deploy time by whichever provider is running the app. It lets an app put its own storage location into the environment without hardcoding a path that only one provider understands.
| Property | Description |
|---|---|
$storage.<name>.path |
The path the provider provisioned for the volume named <name> |
The declared storage.<name>.path is the canonical path — the mount point inside the container. $storage.<name>.path is the resolved path the running provider used:
- a container provider bind-mounts the volume at the declared path, so
$storage.<name>.pathequals the declaredpath(e.g./data/cache); - a native (non-container) provider provisions a host directory, so
$storage.<name>.pathresolves to that directory (e.g.<project>/.launchfile/storage/<component>/cache).
The same Launchfile is therefore correct under both. storage is a reserved namespace, checked before any user-named resource and not shadowable by one (see Resolution order). Unknown $storage.* — a typo'd volume name, or a provider that does not populate the map — resolves to empty string, matching unknown $app.* (see L-4). Only .path is exposed; the author-declared size hint is not echoed back (D-39).
Example use:
storage:
cache:
path: /data/cache
persistent: false
data:
path: /data
env:
CACHE_DIR: $storage.cache.path # anythingllm STORAGE_DIR, broker cache dir
MP_DATABASE: "${storage.data.path}/mailpit.db" # mailpit — path + suffix