Skip to content

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

License

Notifications You must be signed in to change notification settings

danielhokanson/mealie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Mealie

A self-hosted recipe manager and meal planner with a modern Angular frontend and .NET Core backend API.

Discord License Docker Pulls

✨ Features

  • πŸ” Smart Search - Mix & match quoted literal searches and keyword search with fuzzy search support
  • 🏷️ Recipe Organization - Tag recipes with categories or tags for flexible sorting
  • πŸ•Έ Web Import - Import recipes from around the web by URL
  • πŸ“± Progressive Web App - Mobile-first responsive design
  • πŸ“† Meal Planning - Create and manage meal plans
  • πŸ›’ Shopping Lists - Generate shopping lists from recipes and meal plans
  • 🏠 Multi-Tenant - Separate users into households and share recipes
  • 🎨 Customizable - Color themed layouts and localization support
  • πŸ” Secure - JWT-based authentication with role-based permissions
  • πŸ“Š Analytics - Recipe usage statistics and reporting
  • πŸ”„ Import/Export - Migration from other platforms and backup functionality

πŸ—οΈ Architecture

Mealie uses a modern technology stack:

  • Frontend: Angular with TypeScript and Angular Material
  • Backend: .NET Core with Entity Framework Core
  • Database: PostgreSQL with full-text search
  • Authentication: JWT-based with configurable expiration
  • API: RESTful API with OpenAPI/Swagger documentation
  • Deployment: Docker containerization with Nginx reverse proxy

Project Structure

mealie/
β”œβ”€β”€ mealie-angular/              # Angular frontend application
β”œβ”€β”€ MealieApi/                   # .NET Core backend API
β”œβ”€β”€ docker/                     # Docker configurations
β”œβ”€β”€ docs/                       # Documentation
β”œβ”€β”€ frontend(deprecated)/        # Legacy Vue.js frontend
└── mealie(deprecated)/          # Legacy Python backend

πŸš€ Quick Start

Docker (Recommended)

  1. Create directory and download configuration:

    mkdir mealie && cd mealie
    curl -o docker-compose.yml https://raw.githubusercontent.com/mealie-recipes/mealie/main/docker/docker-compose.yml
    curl -o .env https://raw.githubusercontent.com/mealie-recipes/mealie/main/docker/environment.example
  2. Configure environment variables:

    nano .env

    Important: Change POSTGRES_PASSWORD and JWT_SECRET_KEY in production!

  3. Start Mealie:

    docker-compose up -d
  4. Access Mealie: http://localhost:9091

Development Setup

See the Development Guide for detailed setup instructions.

πŸ“– Documentation

πŸ”§ Configuration

Environment Variables

Variable Default Description
JWT_SECRET_KEY required Secret key for JWT token signing
POSTGRES_PASSWORD mealie_password PostgreSQL password
HTTP_PORT 9091 Port for web interface
ALLOW_SIGNUP false Allow user registration

See Backend Configuration for complete configuration options.

🐳 Docker Images

  • Latest Stable: mealierecipes/mealie:latest
  • Development: mealierecipes/mealie:nightly

Supported Architectures

  • linux/amd64 (x86_64)
  • linux/arm64 (ARM64/aarch64)
  • linux/arm/v7 (ARMv7)

πŸ”„ Migration

From Legacy Python Version

If you're upgrading from the legacy Python/Vue.js version:

  1. Export your data from the old version
  2. Follow the Migration Guide
  3. Import your data into the new version

From Other Platforms

Mealie supports importing from:

  • Chowdown
  • Nextcloud Cookbook
  • Copy Me That
  • Paprika
  • Tandoor Recipes

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development

  1. Fork the repository
  2. Set up development environment: Development Guide
  3. Make your changes
  4. Submit a pull request

Reporting Issues

πŸ“Š Stats

  • 🌟 GitHub Stars: Growing community of recipe enthusiasts
  • 🐳 Docker Pulls: Millions of downloads
  • 🌍 Languages: Localized in 40+ languages
  • πŸ‘₯ Contributors: Open source community driven

πŸ’– Support

If you find Mealie useful, consider:

  • ⭐ Starring the repository
  • πŸ› Reporting bugs and suggesting features
  • πŸ’¬ Joining our Discord community
  • πŸ’ Contributing code or documentation
Buy Me A Coffee

πŸ“„ License

This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.

πŸ”— Links


πŸ›οΈ Architecture Evolution

Mealie has evolved from its original Vue.js/Python (FastAPI) architecture to the current Angular/.NET Core implementation for improved performance, maintainability, and modern development practices. Legacy components are maintained in (deprecated) directories for reference and migration purposes.

About

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

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 195