Mealie: A Self-Hosted Recipe Manager That Imports From a URL, Plans Meals, and Builds Shopping Lists
Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor.
At a glance
- What is it?
- Mealie is a Python and Vue based self-hosted recipe manager with a REST API, URL import, meal planning, and shopping lists. It suits families who want full control over their recipe data, but its AGPL license and Docker-first deployment deserve scrutiny.
- Who is it for?
- Adopt Mealie if you want a self-hosted recipe database with automatic URL import, meal planning, and shopping lists, and you are comfortable with Docker and the AGPL-3.0 license. Do not adopt it if you need a fully offline, non-Docker native installation or if your organization cannot accept AGPL obligations.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Mealie Actually Solves
Mealie addresses a specific annoyance: recipe data scattered across browser bookmarks, printed pages, and notes apps. The README positions it as a self-hosted recipe manager and meal planner, with a REST API backend and a Vue frontend. The core promise is that you paste a URL and Mealie imports the relevant data. For a household, that means one place to store recipes, plan the week, and generate a shopping list organized by supermarket sections. For developers, the REST API opens the door to third-party integrations. The target user is a family, not a professional kitchen. The project does not claim to handle inventory, nutrition tracking, or multi-user permissions in depth. It solves the organization problem, not the cooking problem.
How the URL Import and Data Flow Work
The README describes the import mechanism at a high level: 'Easily add recipes into your database by providing the URL and Mealie will automatically import the relevant data.' The actual parsing logic is not detailed in the provided material. You will not find which fields get extracted, how images are handled, or what happens when a recipe site changes its layout. The documentation, linked as docs.mealie.io, presumably holds those details, but they are not in the README. The architecture is clear from the description: a REST API backend, a reactive Vue frontend, and a database that stores recipes. The frontend talks to the API, and the API handles import, storage, and retrieval. The meal planner and shopping list are features built on top of the same recipe data. That separation matters: if you want to build your own client, the API is the interface, not the UI.
Getting It Running: Docker Is the Primary Path
The README lists Docker as a key feature, and the repository provides a Docker image on Docker Hub and GitHub Container Registry. The exact compose file is not in the README, but the docs site is the reference. The project also mentions GitHub Container Registry as a distribution channel. For a quick start, you would pull the image from hkotel/mealie or ghcr.io/mealie-recipes/mealie, set up a volume for the data, and map a port. The README does not give a one-line docker run command, so you must consult the official documentation. The project also supports development via VSCode Dev Containers, which is a contributor convenience, not a production deployment method. If you prefer bare-metal, the README gives no instructions. That is a limitation: Mealie is effectively Docker-first, and the documentation likely assumes you use containers.
The Meal Planner and Shopping List Are More Than Add-Ons
The meal planner and shopping list are not afterthoughts. The README describes the meal planner as a way to plan what you will cook for the next week, and the shopping list as being organized into sections of your local supermarket. That last detail is notable: it implies a configurable layout, not just a flat list of ingredients. The planner likely pulls from recipes in your database, so you can assign a recipe to a day. The shopping list then aggregates ingredients from the planned meals. That workflow is the core value for a family. The README does not specify whether the shopping list can be shared with other household members in real time, or whether it syncs across devices. The Vue frontend suggests a reactive experience, but the exact collaboration model is unstated.
Cookbooks and Localization: Organization and Reach
Mealie includes cookbooks, which let you group recipes based on your own criteria. That is a flexible way to create thematic collections, like 'Weeknight Dinners' or 'Holiday Baking'. The README does not explain the criteria logic, but it is likely tag-based or category-based. Localization is another feature: the project supports 35+ languages, with translations managed through Crowdin. That is a practical advantage for non-English households. The README encourages non-coders to contribute translations, which lowers the barrier for community involvement. However, the quality of translations may vary, and the README does not guarantee that all UI strings are fully translated. For a family that speaks a less common language, that is a point to check.
Licensing and Maintenance: AGPL-3.0 and Active Releases
Mealie is licensed under AGPL-3.0. That has real implications: if you modify the software and offer it as a network service, you must release your modifications under the same license. For a personal family instance, that is rarely a problem. For a commercial entity, it is a serious consideration. The repository shows recent activity: v3.24.0 was pushed on 2026-08-24, with v3.23.1 and v3.23.0 earlier in the same month. That cadence suggests active maintenance. The default branch is mealie-next, which indicates a rolling development model. Upgrades are likely frequent, and you should read the release notes before updating, as breaking changes may occur. The README does not mention a migration path or stability guarantees. You should budget time for regular updates, especially if you rely on the URL importer, which may break when external sites change.
Limitations and When Mealie Is the Wrong Tool
The README does not specify which recipe websites the URL importer supports. That is a genuine gap. If you frequently save recipes from sites with heavy JavaScript or login walls, the importer may fail. The project has no offline mode mentioned; you need a server running. If you want a simple mobile app that works offline, Mealie is not that. The AGPL license is another limitation for commercial use. Also, the README does not mention bulk import from other recipe managers, like Paprika or Copy Me That. If you are migrating from another tool, you will need to check the API or documentation for import options. The project is also not a nutrition tracker; it does not claim to compute macros or calories per serving. For a family that needs those features, Mealie is the wrong tool.
A Real Alternative: Tandoor Recipes
A common alternative to Mealie is Tandoor Recipes, another self-hosted recipe manager. Tandoor also has a REST API, a web frontend, and supports URL import. The key difference is that Tandoor places a stronger emphasis on nutrition tracking and multi-user sharing with fine-grained permissions. Tandoor uses a different backend stack (Django) and has a different data model. Where Mealie focuses on the family meal plan and shopping list, Tandoor offers detailed ingredient parsing and nutritional information. If you need per-user dietary tracking or more granular access control, Tandoor may fit better. If you prefer the Vue-based reactive UI and the supermarket-section shopping list, Mealie has that. The choice depends on which workflow matters more: planning and shopping, or nutrition and sharing. Both are Docker-deployable, so the operational cost is similar.
Editorial conclusion
Adopt Mealie if you want a self-hosted recipe database with automatic URL import, meal planning, and shopping lists, and you are comfortable with Docker and the AGPL-3.0 license. Do not adopt it if you need a fully offline, non-Docker native installation or if your organization cannot accept AGPL obligations. Before deploying, verify the current documentation for the exact Docker compose setup and the import behavior for your target recipe sites, since the README does not specify which websites are supported or how the importer handles paywalls or JavaScript-heavy pages.
Community notes