Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+95
View File
@@ -0,0 +1,95 @@
---
title: Tamari
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, recipes, self-hosted, python]
confidence: medium
contested: false
sources:
- https://tamariapp.com
- https://github.com/alexbates/Tamari
---
# Tamari 🥢
> Application web complète de gestion de recettes, en Python (Django), avec planification et liste de courses.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://tamariapp.com |
| **GitHub** | https://github.com/alexbates/Tamari |
| **License** | MIT |
| **Langage** | Python (Django) |
| **Étoiles** | 128 |
| **Dernière MAJ** | 2026-05-25 |
| **Catégorie** | [[cat-recipes]] |
## Description
Tamari est une **application web de recettes** écrite en Python avec le framework **Django**, ce qui lui confère une base solide, mature et sécurisée. Le projet est l'œuvre d'**Alex Bates** et se positionne comme une alternative **plus légère que Mealie**, plus simple à déployer, tout en offrant les fonctionnalités essentielles d'un gestionnaire de recettes moderne.
L'application propose la création de recettes avec ingrédients structurés (nom, quantité, unité), les étapes numérotées, les photos, les tags, les catégories, le **planning de repas**, la **liste de courses** générée automatiquement à partir du planning, et l'**import depuis URL** avec parsing basique. L'interface est responsive et fonctionne aussi bien sur mobile que sur desktop.
Tamari utilise **SQLite** par défaut (zéro configuration) mais supporte aussi PostgreSQL/MySQL. L'**API REST Django REST Framework** est exposée pour des intégrations tierces (Home Assistant, scripts, CLI). C'est un bon choix pour un homelab qui veut un **gestionnaire de recettes en Python pur** sans la complexité de Mealie (FastAPI + Vue.js + plusieurs services).
## Installation
### Docker Compose
```yaml
services:
tamari:
image: alexbates/tamari:latest
container_name: tamari
environment:
- DJANGO_SECRET_KEY=*** - DJANGO_DEBUG=False
- DJANGO_ALLOWED_HOSTS=tamari.example.com
- DATABASE_URL=sqlite:///db/tamari.sqlite3
- TZ=Europe/Paris
volumes:
- ./data/db:/app/db
- ./data/media:/app/media
ports:
- "8000:8000"
labels:
- traefik.enable=true
- traefik.http.routers.tamari.rule=Host(`tamari.example.com`)
- traefik.http.routers.tamari.entrypoints=websecure
- traefik.http.routers.tamari.tls.certresolver=letsencrypt
- traefik.http.services.tamari.loadbalancer.server.port=8000
restart: unless-stopped
```
### Manuel
```bash
git clone https://github.com/alexbates/Tamari.git
cd Tamari && pip install -r requirements.txt
python manage.py migrate && python manage.py createsuperuser
python manage.py runserver 0.0.0.0:8000
```
## Configuration
1. Cloner le repo et installer les dépendances : `pip install -r requirements.txt`.
2. Configurer **`DJANGO_SECRET_KEY`** dans `.env` (`openssl rand -hex 50`).
3. Lancer les migrations : `python manage.py migrate`.
4. Créer le **super-utilisateur** : `python manage.py createsuperuser`.
5. (Production) Servir avec **Gunicorn + Nginx** ou via le compose ci-dessus.
## Alternatives
- **Open source** : [[app-mealie]] (référence), [[app-vanilla-cookbook]] (PHP), [[app-norish]] (Next.js), [[app-bar-assistant]] (cocktails), Tandoor Recipes, Grocy, RecipeSage, Forkful, kptn, RecipeMD, Cooklang, Bakin Recipe, Mealie-Scrape.
- **Propriétaire** : Paprika Recipe Manager, CopyMeThat, Plan to Eat, Yummly, BigOven, Samsung Food, Mela (iOS), Crouton (iOS).
## Sécurité
- **`DJANGO_SECRET_KEY`** : clé critique, à regénérer et stocker dans un secret manager.
- **`DJANGO_DEBUG=False`** obligatoire en production.
- **HTTPS obligatoire** via reverse proxy (Caddy, Traefik).
- **CSRF/CSP** : Django fournit des protections natives, à conserver activées.
- **Backups** : copier `./data/db` (SQLite) ou utiliser `pg_dump` pour Postgres.
## Ressources
- Code : https://github.com/alexbates/Tamari
- Site : https://tamariapp.com
- Issues : https://github.com/alexbates/Tamari/issues
## Pages Liées
- [[cat-recipes]] — Catégorie parente
- [[app-mealie]] — Référence du domaine
- [[app-vanilla-cookbook]] — Alternative PHP
- [[recettes-docker-compose]] — Modèles de stacks