Skip to main content

Storage Template

Storage Templates let admins control how uploaded files are organized on disk. This is useful if you want a predictable folder structure for backups or external tools. Changes apply to new uploads by default, and you can run a migration to move existing assets into the new layout.

Admin-only

For now, Storage Templates are admin-only. If you do not see the settings, ask your server admin to configure them.

Where to find it

Open Settings → Server → Storage Template in the web or mobile app.

Default layout

Year/Month/ChecksumPrefix/Checksum.Extension

Trellilume ships with a default template that keeps the checksum-based layout.

How templates work

Templates are strings with variables enclosed in {{...}}. You can mix variables and custom text to build a path.

Example:

{{y}}/{{MM}}/{{filename}}.{{ext}}

Conditionals (optional)

You can use simple conditionals:

{{#if album}}{{album}}{{else}}Other{{/if}}/{{filename}}.{{ext}}

Variables

Supported variables include:

  • Date/time: {{y}}, {{yy}}, {{MM}}, {{MMM}}, {{MMMM}}, {{d}}, {{dd}}, {{H}}, {{HH}}, {{h}}, {{hh}}, {{m}}, {{mm}}, {{s}}, {{ss}}, {{SSS}}, {{WW}}
  • File: {{filename}}, {{ext}}, {{filetype}}, {{filetypefull}}
  • Identity: {{asset_id}}, {{user_id}}, {{storage_label}}
  • Content: {{album}}, {{checksum}}, {{checksum_prefix}}

The storage label is an optional per-user label that defaults to the user ID if left blank.

Preview and validation

Use the Preview button in settings to confirm the final path before saving. Invalid templates will show errors.

Applying changes to existing assets

Template changes only affect new uploads. To backfill existing assets, run Migration from the Storage Template settings. This moves files on disk and updates the database paths.

Safety notes

  • Changing templates moves files on disk. Ensure you have backups.
  • Large libraries can take time to migrate.
  • If multiple assets resolve to the same filename, Trellilume appends a numeric suffix to keep names unique.