Linux

Where Does Mealie Store Recipes and Data?

Mealie stores everything in /app/data inside the container: the database, recipe images, backups, and generated secrets.

Last updated

Mealie needs one persistent volume. Inside the container it is always /app/data. The SQLite file, recipe assets, and automatic ZIP backups all live below it. The Postgres variant adds a second volume for the database cluster, but the recipe files still stay in /app/data.

Most data loss reports come from a compose typo that fails to mount the volume. Check that the mount target is exactly /app/data. Then verify on the host that mealie.db and the recipes folder actually grow after adding a recipe.

Where Mealie stores this, by platform

Linux
/app/data

Single required mount. Contains mealie.db, recipes assets, and backups. Stop the container before archiving so the database copies cleanly.

Linux
/var/lib/postgresql/data

Postgres cluster data when using the Postgres compose variant. Recipe images still stay in /app/data, so back up both volumes.

Frequently asked questions

How do I back up Mealie before an upgrade?

Stop the container, archive the volume behind /app/data, then start again. That captures mealie.db, the recipes folder, and backups in one pass.

Should I use SQLite or Postgres for Mealie?

Use SQLite for a household. Move to Postgres when the data dir sits on network storage, since SQLite over a network filesystem locks and can corrupt.

Why did my recipes vanish after a restart?

Mount a host folder to /app/data with a proper mapping, not a bare path. A missing colon in compose leaves the data inside the container where a recreate wipes it.

Notice an outdated path? Let us know.