A self-hosted recipe manager and meal planner with a modern Angular frontend and .NET Core backend API.
- π 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
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
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
-
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
-
Configure environment variables:
nano .env
Important: Change
POSTGRES_PASSWORDandJWT_SECRET_KEYin production! -
Start Mealie:
docker-compose up -d
-
Access Mealie: http://localhost:9091
See the Development Guide for detailed setup instructions.
- Installation Guide: docs.mealie.io/getting-started/installation
- API Documentation: docs.mealie.io/api
- User Guide: docs.mealie.io
- Development: docs.mealie.io/contributors
| 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.
- Latest Stable:
mealierecipes/mealie:latest - Development:
mealierecipes/mealie:nightly
linux/amd64(x86_64)linux/arm64(ARM64/aarch64)linux/arm/v7(ARMv7)
If you're upgrading from the legacy Python/Vue.js version:
- Export your data from the old version
- Follow the Migration Guide
- Import your data into the new version
Mealie supports importing from:
- Chowdown
- Nextcloud Cookbook
- Copy Me That
- Paprika
- Tandoor Recipes
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Set up development environment: Development Guide
- Make your changes
- Submit a pull request
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Community Support: Discord
- π GitHub Stars: Growing community of recipe enthusiasts
- π³ Docker Pulls: Millions of downloads
- π Languages: Localized in 40+ languages
- π₯ Contributors: Open source community driven
If you find Mealie useful, consider:
- β Starring the repository
- π Reporting bugs and suggesting features
- π¬ Joining our Discord community
- π Contributing code or documentation
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
- Website: mealie.io
- Documentation: docs.mealie.io
- Demo: demo.mealie.io
- Discord: Join our community
- GitHub: mealie-recipes/mealie
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.