Skip to main content
Mount a named volume where your app writes data that must survive restarts. Add x-zenith.storage metadata to describe that volume to Zenith.

Declare and mount the volume

Add these blocks to your existing manifest. Replace app with your service name and /app/uploads with its data directory.
Keep database files, indexes, and credentials private. The following example enables owner file-manager access for uploaded files.

Keep app data across restarts

Configure your app to write uploads to the mounted directory. Preserve existing files when the app starts. Create a test upload, restart the app, and confirm that the app can still read the file.

Choose which files owners can access

Set public: true for a volume that the owner can browse through the file manager. Omit public or set it to false to keep the volume private. The public field controls owner file-manager access. It does not publish files to the internet. For a specific editable settings file, use configuration files. You can expose that editor while keeping the volume private. See the storage reference for field and volume validation rules.