Files
2026-06-09 18:40:21 +02:00

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