mrkeyoor.com_
Wed 16 Sept 05:31 UTC
Self-Hostedevaluationupdated 26 Aug 2026

mealie review

Mealie is a self-hosted recipe library, meal planner, and shopping-list app for households. It imports recipes from web pages or accepts manual entries, then keeps recipes, plans, ingredients, and shared household data in one place.

+62stars / 7d
Verdict

Our Mealie checkout installed 35 packages and built in 81 seconds combined, but its test command stopped before collection because fastapi was missing. Use the published container if you want a capable household recipe system and already know how to protect, update, and back up a web service. Skip it if you want vendor-managed convenience or intend to expose recipe imports without isolating the container.

We ran it

Lab card: what happened when we ran mealieScreenshot of mealie (docs.mealie.io)
Install✓ · 54s35 packages · 37 MB
Build✓ · 27s
Tests✗ · 11sran, no count parsed
Known vulns0(pip-audit)
Repo1628 files~121,529 lines of source · 53.7 MB · 18 CI workflows · tests dir

Answers from our run

Does mealie build from source?

Dependencies installed in 54 seconds (35 packages), and the build succeeded in 27 seconds. We cloned commit 378a9b0 into a clean Debian container with 3 CPUs and no project-specific setup.

Do mealie's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does mealie have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use mealie?

Anyone running 32-bit ARM hardware: the installation guide says Mealie does not support it because of a build dependency.

What are the alternatives to mealie?

Tandoor Recipes, RecipeSage, Nextcloud Cookbook. Our Mealie checkout installed 35 packages and built in 81 seconds combined, but its test command stopped before collection because fastapi was missing.

Setup4/5Simple container path, with real backup and proxy work
Docs5/5Deployment, security, databases, and backups are explained
Community5/5Fresh August push, release, issues, and pull request activity
Maturity5/5Versioned images, migrations, backups, and active maintenance

Who it’s for

Households that want a shared recipe archive without handing it to a subscription service.
Self-hosters comfortable running one Docker service, managing backups, and applying updates.
Families that want recipe imports, meal planning, and shopping lists in the same interface.
Developers who want a REST API for tying recipes or meal plans into home automations.

Who it’s NOT for

Anyone running 32-bit ARM hardware: the installation guide says Mealie does not support it because of a build dependency.
Operators who plan to expose imports to untrusted users without network isolation or rate limits: the security guide identifies URL-import endpoints as SSRF and denial-of-service risks.
Teams that cannot comply with AGPL-3.0 obligations for a modified network service.
PostgreSQL operators unwilling to plan restores carefully: Mealie's documented restore flow temporarily requires the database user to have superuser rights.
People who want a hosted service with somebody else responsible for upgrades, storage, and off-server backups.

Setup reality

Our sandbox install succeeded in 54 seconds, adding 35 Python packages and using 37 MB. The build passed in 27 seconds. Tests stopped with exit code 4 after 11 seconds because tests/conftest.py could not import fastapi; pip-audit found 0 known vulnerabilities.

The supported household deployment is a prebuilt Docker image, not the source setup we measured. You choose SQLite or PostgreSQL, mount persistent data, set BASE_URL, timezone, default household values, and SMTP settings if invitations or password resets must work.

Mealie supports amd64 and 64-bit ARM, but not 32-bit ARM. Public exposure needs a reverse proxy, TLS, rate limits, and network isolation because recipe imports make server-side requests. Backups must leave the Mealie host, and PostgreSQL restores temporarily need a superuser.

Mealie replaces a recipe folder and a planning spreadsheet

Mealie gives a household one web app for collecting recipes, deciding what to cook, and turning those decisions into a shopping list. A recipe can arrive from a URL, pasted structured data, or the manual editor. Categories, tags, tools, and saved cookbook filters keep a large collection usable. The REST API, scheduled webhooks, and recipe actions also give technical households room to connect it to other services.

The data model is more considered than a single shared login. Groups are isolated from one another, while households inside a group share recipes and organizers but keep meal plans, shopping lists, and integrations separate. That makes sense for extended families or one administrator hosting several private collections. The project advertises translations for more than 35 languages, though the quality and completeness of each translation will vary with community contributions.

The supported install is one container with persistent data

The main path is a versioned image from GitHub Container Registry. The installation checklist recommends Docker Compose, a mounted /app/data volume, an explicit BASE_URL, the correct timezone, and changed default credentials. SQLite is the default and the documentation describes it as suitable for 1 to 20 users with limited concurrent writes. PostgreSQL is the better fit for heavier concurrency and enables fuzzy search.

That is approachable for a self-hosted application, but it still makes you the service owner. SMTP is needed for invitations and password resets. A reverse proxy should terminate TLS and apply limits. Updates should use a pinned image tag after reading release notes. The built-in backup screen produces downloadable ZIP files, yet the docs correctly say copies must be stored away from the server. A volume and a backup on the same disk share the same failure.

What happened when we ran it

Our run cloned commit 378a9b0 into an unprivileged Debian container with 3 CPUs and 8 GB of RAM. Installing the Python environment succeeded in 54 seconds, added 35 packages, and occupied 37 MB. The source build then completed in 27 seconds. Pip-audit reported 0 known vulnerabilities in the installed Python packages.

The test step did not start the suite. It exited with code 4 after 11 seconds while loading tests/conftest.py, where Python raised ModuleNotFoundError: No module named 'fastapi'. That log proves the checked-out source and installed environment were insufficient for this test command. It does not prove that Mealie's application tests fail, nor does it identify why the package was absent. The distinction matters because normal users are directed to the prebuilt container.

The checkout itself was substantial: 1,628 files, roughly 121,529 lines of source, and 53.7 MB before installed packages. It had a tests directory and 18 CI workflow files, but no root Dockerfile was detected by our scan. Mealie does keep its development container material under project subdirectories. Contributors should follow the developer guide instead of assuming the production Compose instructions also describe a complete source-development environment.

URL imports need isolation before internet exposure

Recipe import is Mealie's best convenience and its sharpest operational edge. The server fetches user-provided URLs for recipe pages, AI imports, and images. Mealie's security guide says those endpoints can be abused for server-side request forgery or resource exhaustion. Its advice is practical: isolate the container from internal resources while preserving outbound internet access, and apply strict rate limits through a reverse proxy.

That warning changes who should host it publicly. A private instance with trusted family accounts is a simpler risk than open registration on a home network. ALLOW_SIGNUP defaults to false, and login lockout controls are documented, but access control does not replace network boundaries. Anyone offering accounts outside a trusted household should map what the container can reach before enabling URL imports.

Backups are friendly until PostgreSQL restore day

SQLite keeps the small installation easy to understand because its data lives under /app/data; stopping the container and copying that volume is the documentation's preferred full backup. The UI can also create, upload, download, and restore site archives. Restores are destructive and log users out. With PostgreSQL, the documented restore procedure temporarily grants the Mealie database user superuser status, runs the restore, then removes that status. That deserves a rehearsed runbook.

Version v3.24.0 was released on August 24, 2026, and the repository was pushed again on August 26. GitHub showed 229 combined issues and pull requests, with current bug reports and fixes moving on the same day. Those signals describe a busy maintained project, not a quiet finished appliance. The release included meal-planner work, startup and idle-memory changes, bug fixes, and dependency updates. Operators should expect regular upgrades rather than set-and-forget software.

Choose Mealie for the household workflow, not just recipe storage

Tandoor Recipes is the closest broad alternative, while RecipeSage puts more emphasis on sharing. Nextcloud Cookbook is easier to justify when a household already runs Nextcloud and wants recipes under the same identity and storage system. Mealie earns its place when meal planning and shopping lists are daily features, not checkboxes beside a passive archive.

The decision comes down to ownership. Mealie offers a polished route from web recipe to weekly plan, backed by an active release cadence and unusually candid security documentation. In return, you own container isolation, updates, mail configuration, and off-server recovery. For a Docker-literate household, that trade is good. For someone seeking an account and an app with no server chores, it is the wrong product.

Alternatives

ProjectWhat it isPick it when
Tandoor RecipesA self-hosted recipe manager with meal planning, shopping, and strong recipe organization.pick this instead when its recipe workflow and Django-based deployment fit your household better.
RecipeSageA recipe keeper with sharing, meal planning, and shopping-list features.pick this instead when sharing recipes across a broader social circle matters more than Mealie's household model.
Nextcloud CookbookA recipe application that lives inside an existing Nextcloud installation.pick this instead when Nextcloud already owns your users, files, and backup routine.

Sources

  1. Mealie README
  2. Mealie installation checklist
  3. Mealie security guidance
  4. Mealie backups and restores
  5. Mealie v3.24.0 release

More self-hosted reviews

newsnow · forem · octo-server · runtime · openfang · SparkyFitness · the whole board →