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

4.1 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Vanilla Cookbook 2026-06-08 2026-06-08 app
catalogue
recipes
self-hosted
php
medium false
https://github.com/jt196/vanilla-cookbook

Vanilla Cookbook 🍰

Gestionnaire de recettes minimaliste et simple en PHP, sans framework lourd ni base de données complexe.

Métadonnée Valeur
Site web https://github.com/jt196/vanilla-cookbook
GitHub https://github.com/jt196/vanilla-cookbook
License MIT
Langage PHP (sans framework lourd)
Étoiles 150
Dernière MAJ 2026-05-25
Catégorie cat-recipes

Description

Vanilla Cookbook est un gestionnaire de recettes minimaliste écrit en PHP, pensé pour les utilisateurs qui veulent un outil simple et fonctionnel sans la complexité des gros projets comme Mealie ou Tandoor. Pas de framework JS moderne, pas de base PostgreSQL à administrer : juste du PHP, un peu de JavaScript vanilla, et SQLite pour le stockage.

L'application couvre l'essentiel : création de recettes avec ingrédients, étapes, photos, tags ; organisation par catégories ; recherche full-text basique ; import/export JSON ; planification de repas ; liste de courses. L'interface est volontairement dépouillée, légère et rapide à charger même sur un Raspberry Pi.

C'est l'outil idéal pour un petit homelab ou un serveur familial qui veut héberger un livre de recettes commun sans déployer une stack Docker de 500 Mo. Vanilla Cookbook consomme moins de 30 Mo de RAM et fonctionne avec PHP 8.0+ et SQLite. Son auteur, jt196, le maintient activement avec des releases régulières.

Installation

Docker Compose

services:
  cookbook:
    image: jt196/vanilla-cookbook:latest
    container_name: vanilla-cookbook
    environment:
      - APP_URL=https://cookbook.example.com
      - DB_TYPE=sqlite
      - PHP_TIMEZONE=Europe/Paris
    volumes:
      - ./data:/var/www/html/data
      - ./uploads:/var/www/html/uploads
    ports:
      - "8085:80"
    labels:
      - traefik.enable=true
      - traefik.http.routers.cookbook.rule=Host(`cookbook.example.com`)
      - traefik.http.routers.cookbook.entrypoints=websecure
      - traefik.http.routers.cookbook.tls.certresolver=letsencrypt
      - traefik.http.services.cookbook.loadbalancer.server.port=80
    restart: unless-stopped

Installation PHP classique

git clone https://github.com/jt196/vanilla-cookbook.git
cd vanilla-cookbook && composer install
php -S 0.0.0.0:8085

Configuration

  1. Cloner le repo et ajuster les permissions sur ./data et ./uploads (chown www-data).
  2. Configurer APP_URL et la timezone PHP dans .env.
  3. Créer le compte admin depuis l'UI au premier lancement.
  4. (Optionnel) Configurer un reverse proxy (Caddy, Nginx, Traefik) pour HTTPS.
  5. Importer vos recettes existantes via le fichier JSON (export depuis Paprika, Mealie, etc.).

Alternatives

  • Open source : app-mealie (référence, plus complet), app-tamari (Python), app-norish (multi-users), app-bar-assistant (cocktails), Tandoor Recipes, Grocy, RecipeSage, Forkful, RecipeMD (Markdown), Cooklang, Foodsoft (coop).
  • Propriétaire : Paprika Recipe Manager, CopyMeThat, Plan to Eat, Yummly, BigOven, Cookpad, Samsung Food.

Sécurité

  • Permissions strictes sur le dossier ./data (SQLite) : chmod 700 recommandé.
  • HTTPS obligatoire via reverse proxy (Let's Encrypt, Caddy).
  • Désactiver l'inscription ouverte après création du premier compte admin.
  • Backups réguliers de ./data (SQLite) et ./uploads (photos).
  • PHP-FPM plutôt que mod_php pour réduire la surface d'attaque sur Apache/Nginx.

Ressources

Pages Liées