Self hosted recipe manager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mohammed Chotia d37191e6af
Update iOS Shorcut documentation (#1007)
3 months ago
.github Fix/version number (#960) 6 months ago
.vscode fix(frontend): 🐛 fetch categories on load (#709) 11 months ago
dev Bug/minor fixes (#762) 10 months ago
docs Update iOS Shorcut documentation (#1007) 3 months ago
frontend Put ref in v-show so Vue can pick it up on mount, toggle JSON show on click (#1045) 3 months ago
mealie Fix TypeError in clean_nutrition function (#1043) 5 months ago
tests Add LDAP authentication support (v2, onto dev) (#803) 9 months ago
.dockerignore Optimize Docker (#575) 1 year ago
.flake8 Fix TypeError in clean_nutrition function (#1043) 5 months ago
.gitattributes v0.2.0 (#143) 2 years ago
.gitignore bug/fallback language fix (#708) 11 months ago
.pylintrc Release v0.1.0 Candidate (#85) 2 years ago
Caddyfile Revert "Docker/run as nonroot (#692)" (#724) 10 months ago
Dockerfile Chore/bump deps (#853) 8 months ago
LICENSE init 2 2 years ago Add Go bulk import (#1122) 4 months ago
crowdin.yml Crowdin integration (#319) 1 year ago reference default login credentials per the documentation (#675) 11 months ago
docker-compose.yml Fix #1034 - target option is not supported (#1042) 5 months ago Bug/minor fixes (#762) 10 months ago
makefile Optimize Docker (#575) 1 year ago
netlify.toml add netlify build for docs 6 months ago
poetry.lock Fix/version number (#960) 6 months ago
pyproject.toml Fix/image height overflow (#962) 6 months ago
runtime.txt add runtime.txt 6 months ago
template.env Add LDAP authentication support (v2, onto dev) (#803) 9 months ago
vetur.config.js v0.2.0 (#143) 2 years ago

Contributors Forks Stargazers Issues MIT License Docker Pulls CodeFactor Docker Build Production Project Tests Production Docker Build Dev Project Tests Dev


A Place for All Your Recipes
Explore the docs »
View Demo · Report Bug · API · Request Feature · Docker Hub

Product Name Screen Shot

About The Project

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. Mealie also provides an API for interactions from 3rd party applications.

Remember to join the Discord!

Key Features

  • 🔍 Fuzzy search
  • 🏷 Tag recipes with categories or tags for flexible sorting
  • 🕸 Import recipes from around the web by URL
  • 💪 Powerful bulk Category/Tag assignment
  • 📱 Beautiful Mobile Views
  • 📆 Create Meal Plans
  • 🛒 Generate shopping lists
  • 🐳 Easy setup with Docker
  • 🎨 Customize your interface with color themes
  • 💾 Export all your data in any format with Jinja2 Templates
  • 🔒 Keep your data safe with automated backup and easy restore options
  • 🌍 localized in many languages
  • Plus tons more!
    • Flexible API
      • Custom key/value pairs for recipes
      • Webhook support
      • Interactive API Documentation thanks to FastAPI and Swagger
    • Raw JSON Recipe Editor
    • Migration from other platforms
      • Chowdown
      • Nextcloud Cookbook
    • Random meal plan generation


Why An API?

An API allows integration into applications like Home Assistant that can act as notification engines to provide custom notifications based of Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. Additionally, you can access nearly any backend service via the API giving you total control to extend the application. To explore the API spin up your server and navigate to for interactive API documentation.

Why a Database?

Some users of static-site generator applications like ChowDown have expressed concerns about their data being stuck in a database. Considering this is a new project it is a valid concern to be worried about your data. Mealie specifically addresses this concern by provided automatic daily backups that export your data in json, plain-text markdown files, and/or custom Jinja2 templates. This puts you in control of how your data is represented when exported from Mealie, which means you can easily migrate to any other service provided Mealie doesn't work for you.

As to why we need a database?

  • Developer Experience: Without a database a lot of the work to maintain your data is taken on by the developer instead of a battle tested platform for storing data.
  • Multi User Support: With a solid database as backend storage for your data Mealie can better support multi-user sites and avoid read/write access errors when multiple actions are taken at the same time.


Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Especially test. Literally any tests. See the Contributors Guide for help getting started.

If you are not a coder, you can still contribute financially. financial contributions help me prioritize working on this project over others and helps me know that there is a real demand for project development.

Buy Me A Coffee


Distributed under the MIT License. See LICENSE for more information.


Huge thanks to all the sponsors of this project on Github Sponsors and Buy Me a Coffee. Without you this project would surely not be possible.

Thanks to Linode for providing Hosting for the Demo, Beta, and Documentation sites! Another big thanks to JetBrains for providing their IDEs for development.