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
/app/data
Single required mount. Contains mealie.db, recipes assets, and backups. Stop the container before archiving so the database copies cleanly.
/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.