---
title: Tandoor
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, grocery-lists, app-marathon-batch-c]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Grocery+Lists&app=tandoor, https://tandoor.dev/]
---

# 🛒 Tandoor

> **Gestionnaire de recettes et planificateur de repas** : importez depuis 3000+ sites web, organisez par tags, générez vos listes de courses automatiquement.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [tandoor.dev](https://tandoor.dev/) |
| **GitHub** | [TandoorRecipes/recipes](https://github.com/TandoorRecipes/recipes) |
| **License** | AGPL-3.0 |
| **Langage** | Python + JavaScript |
| **Étoiles GitHub** | 6.8k ⭐ |
| **Catégorie** | [[cat-grocery-lists\|Grocery Lists]] |

## 📝 Description

**Tandoor** (Recipes) est un **gestionnaire de recettes complet** centré sur l'import web et le partage familial.

- ✅ **Import recettes** depuis 3000+ sites via scraping (schema.org Recipe)
- ✅ **Planificateur de repas** avec calendrier hebdo
- ✅ **Listes de courses** auto-générées depuis les repas planifiés
- ✅ **Partage familial multi-utilisateurs** avec permissions
- ✅ **Espace de stockage fichiers/images** pour recettes perso
- ✅ **Export PDF / Cookbook** personnalisable
- ✅ **API REST + OpenAPI**
- ✅ **Apps mobiles tierces** (Android/iOS)

**Différence vs Grocy** : Tandoor = recettes-first avec import web automatisé. Grocy = stock-first avec recettes secondaires. Pour qui: **foodies** qui veulent digitaliser leurs livres de cuisine.

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
version: '3.8'
services:
  tandoor:
    image: ghcr.io/tandoorrecipes/recipes:latest
    container_name: tandoor
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - tandoor_data:/opt/recipes/mediafiles
      - tandoor_static:/opt/recipes/staticfiles
    ports:
      - 9191:80
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.tandoor.rule=Host(`tandoor.example.com`)"
      - "traefik.http.routers.tandoor.entrypoints=websecure"
      - "traefik.http.routers.tandoor.tls.certresolver=letsencrypt"

  db:
    image: postgres:15-alpine
    container_name: tandoor-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: tandoor
      POSTGRES_USER: tandoor
      POSTGRES_PASSWORD: changeme
    volumes:
      - tandoor_db:/var/lib/postgresql/data

volumes:
  tandoor_data:
  tandoor_static:
  tandoor_db:
```

## 🔄 Alternatives

### Open Source
- [[app-grocy]] — Stock-first, gestion domotique complète
- [[app-mealie]] — UI moderne, import recettes similaire
- [[app-kitchenowl]] — Listes partagées simples, mobile-first

### Propriétaires
- **Paprika** — App multi-plateforme payante, synchro cloud
- **CopyMeThat** — Clipboard-to-recipe + planificateur repas
- **Whisk** (Samsung Food) — Planificateur repas + livraison courses

## 🔐 Sécurité
- **Authentification intégrée** : multi-utilisateurs, mot de passe haché
- **OAuth2 / OIDC** possible (Authelia, Authentik)
- **CVE-2022-24749** : anciennes versions vulnérables, garder à jour
- **Database Postgres** : à sauvegarder régulièrement (`pg_dump`)

## 📚 Ressources
- [Documentation officielle](https://docs.tandoor.dev/)
- [Démo en ligne](https://app.tandoor.dev/)
- [API OpenAPI](https://docs.tandoor.dev/features/api/)

## Pages Liées
- [[cat-grocery-lists]] — Catégorie Grocery Lists
- [[app-grocy]] — Concurrent principal (stock-first)
- [[recettes-docker-compose]] — Templates Docker
- [[comparatif-grocery-lists]] — Comparaison détaillée
