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>.path equals the declared path (e.g. /data/cache);
  • a native (non-container) provider provisions a host directory, so $storage.<name>.path resolves 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
esc
Type to search the docs