117 lines
5.0 KiB
Markdown
117 lines
5.0 KiB
Markdown
---
|
|
title: Mealie
|
|
created: 2026-06-08
|
|
updated: 2026-06-08
|
|
type: app
|
|
tags: [catalogue, recipes, self-hosted, python]
|
|
confidence: high
|
|
contested: false
|
|
sources:
|
|
- https://docs.mealie.io
|
|
- https://github.com/mealie-recipes/mealie
|
|
---
|
|
|
|
# Mealie 🍳
|
|
> Gestionnaire de recettes auto-hébergé avec planification de repas, liste de courses et import depuis le Web.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://docs.mealie.io |
|
|
| **GitHub** | https://github.com/mealie-recipes/mealie |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage** | Python (FastAPI) + Vue.js |
|
|
| **Étoiles** | 12 392 |
|
|
| **Dernière MAJ** | 2026-06-07 |
|
|
| **Catégorie** | [[cat-recipes]] |
|
|
|
|
## Description
|
|
Mealie est un **gestionnaire de recettes** moderne et complet, successeur spirituel de Tandoor Recipes. Il permet d'importer des recettes depuis n'importe quel site Web (URL ou scraper automatique), de les organiser par tags/catégories, de générer un **plan de repas hebdomadaire**, de gérer une **liste de courses synchronisée**, et de partager la collection en famille ou entre amis.
|
|
|
|
L'import Web est l'une des killer-features de Mealie : collez l'URL d'une recette sur Marmiton, 750g, BBC Good Food, AllRecipes, etc. et l'application extrait automatiquement le titre, la liste d'ingrédients, les étapes, le temps de cuisson, la photo, les valeurs nutritionnelles. L'édition se fait ensuite en **WYSIWYG** (Markdown enrichi) avec ajout d'images, vidéos, minuteries intégrées.
|
|
|
|
Mealie supporte les **unités de mesure internationales** (conversion cups↔grammes, °F↔°C), les **multi-portions** (ajustement automatique des quantités), l'**export PDF** des recettes, l'**API REST** complète, l'**authentification OIDC/LDAP** et le **partage public** de recettes via lien. Un mode multi-utilisateurs permet à toute la famille de contribuer à un livre de recettes commun.
|
|
|
|
## Installation
|
|
### Docker Compose
|
|
```yaml
|
|
services:
|
|
mealie:
|
|
image: ghcr.io/mealie-recipes/mealie:latest
|
|
container_name: mealie
|
|
environment:
|
|
- ALLOW_SIGNUP=false
|
|
- BASE_URL=https://recipes.example.com
|
|
- TZ=Europe/Paris
|
|
- DB_TYPE=sqlite
|
|
volumes:
|
|
- ./mealie-data:/app/data
|
|
ports:
|
|
- "9925:9000"
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.mealie.rule=Host(`recipes.example.com`)
|
|
- traefik.http.routers.mealie.entrypoints=websecure
|
|
- traefik.http.routers.mealie.tls.certresolver=letsencrypt
|
|
- traefik.http.services.mealie.loadbalancer.server.port=9000
|
|
restart: unless-stopped
|
|
```
|
|
|
|
### Version Postgres
|
|
```yaml
|
|
services:
|
|
postgres:
|
|
image: postgres:15-alpine
|
|
environment:
|
|
- POSTGRES_USER=mealie
|
|
- POSTGRES_PASSWORD=mealie
|
|
- POSTGRES_DB=mealie
|
|
volumes:
|
|
- ./pgdata:/var/lib/postgresql/data
|
|
restart: unless-stopped
|
|
|
|
mealie:
|
|
image: ghcr.io/mealie-recipes/mealie:latest
|
|
environment:
|
|
- DB_TYPE=postgres
|
|
- DB_URL=postgresql://mealie:mealie@postgres:5432/mealie
|
|
- ALLOW_SIGNUP=false
|
|
- BASE_URL=https://recipes.example.com
|
|
depends_on:
|
|
- postgres
|
|
volumes:
|
|
- ./mealie-data:/app/data
|
|
ports:
|
|
- "9925:9000"
|
|
restart: unless-stopped
|
|
```
|
|
|
|
## Configuration
|
|
1. Démarrer la stack et créer le **premier compte admin** depuis l'interface (`https://recipes.example.com`).
|
|
2. (Recommandé) **Désactiver `ALLOW_SIGNUP`** après création du premier utilisateur pour éviter l'inscription ouverte.
|
|
3. Activer l'**authentification OIDC** (Keycloak, Authentik) si on veut lier Mealie à l'Identity Provider du homelab.
|
|
4. Configurer le **scraper Web** (provider `recipe-scraper` ou `mealie-scrape`) pour l'import automatique.
|
|
5. (Optionnel) Connecter **Home Assistant** ou **Tandoor** via l'API REST pour l'intégration domotique.
|
|
|
|
## Alternatives
|
|
- **Open source** : [[app-tamari]] (léger, Python), [[app-vanilla-cookbook]] (PHP minimaliste), [[app-norish]] (multi-utilisateurs), [[app-bar-assistant]] (spécialisé cocktails), Tandoor Recipes, Grocy (planning de repas + inventaire), RecipeSage, Cooklang (format), kptn (CLI), Forkful.
|
|
- **Propriétaire** : Paprika Recipe Manager, CopyMeThat, Samsung Food (ex-Whisk), Plan to Eat, Yummly, Allrecipes (boîte privée), Marmiton (FR).
|
|
|
|
## Sécurité
|
|
- **Désactiver `ALLOW_SIGNUP`** pour éviter que des inconnus s'inscrivent.
|
|
- **Authentification OIDC** recommandée pour intégrer Mealie à l'écosystème du homelab (Keycloak, Authentik).
|
|
- **HTTPS obligatoire** pour chiffrer les credentials et les cookies de session.
|
|
- **Backups réguliers** du dossier `./mealie-data` (SQLite + uploads) et de la base Postgres.
|
|
- **Rate-limiting** sur l'import Web pour éviter les abus (un seul utilisateur qui spam).
|
|
|
|
## Ressources
|
|
- Code : https://github.com/mealie-recipes/mealie
|
|
- Documentation : https://docs.mealie.io
|
|
- Démo : https://demo.mealie.io
|
|
- Issues : https://github.com/mealie-recipes/mealie/issues
|
|
|
|
## Pages Liées
|
|
- [[cat-recipes]] — Catégorie parente
|
|
- [[app-tamari]] — Recettes minimaliste
|
|
- [[app-vanilla-cookbook]] — Recettes en PHP
|
|
- [[recettes-docker-compose]] — Modèles de stacks
|