Files
wiki/Catalogue-Self-Hosted/apps/app-norish.md
T
2026-06-09 18:40:21 +02:00

4.5 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Norish 2026-06-08 2026-06-08 app
catalogue
recipes
self-hosted
typescript
medium false
https://github.com/norish-recipes/norish

Norish 🍲

Application de recettes en temps réel pour familles et amis, avec partage et synchronisation instantanée.

Métadonnée Valeur
Site web https://github.com/norish-recipes/norish
GitHub https://github.com/norish-recipes/norish
License AGPL-3.0
Langage TypeScript (Next.js)
Étoiles 1 064
Dernière MAJ 2026-05-10
Catégorie cat-recipes

Description

Norish est une application de gestion de recettes pensée pour être partagée en temps réel au sein d'une famille ou d'un groupe d'amis. L'objectif est de retrouver la convivialité d'un cahier de recettes familial mais avec les avantages du numérique : recherche full-text, tags, photos, listes de courses, planification de repas et synchronisation instantanée entre tous les membres.

La collaboration temps réel est la caractéristique distinctive : plusieurs personnes peuvent éditer la même recette simultanément, ajouter des commentaires, noter un plat, suggérer des variations. Les notifications push informent les autres membres des modifications. Norish intègre aussi un planificateur de repas hebdomadaire et un partage public de certaines recettes via lien.

L'application supporte l'import depuis URL (scraping automatique), l'export PDF/JSON, la gestion des unités (système métrique + impérial) et un système d'authentification multi-utilisateurs avec rôles (admin, éditeur, lecteur). C'est une alternative jeune et active à Mealie / Tandoor, avec un focus particulier sur l'expérience sociale et la collaboration.

Installation

Docker Compose

services:
  norish:
    image: ghcr.io/norish-recipes/norish:latest
    container_name: norish
    environment:
      - DATABASE_URL=postgresql://norish:***@db:5432/norish
      - NEXTAUTH_SECRET=***      - NEXTAUTH_URL=https://recipes.example.com
      - NEXT_PUBLIC_APP_NAME=Norish
    volumes:
      - ./uploads:/app/uploads
    ports:
      - "3000:3000"
    labels:
      - traefik.enable=true
      - traefik.http.routers.norish.rule=Host(`recipes.example.com`)
      - traefik.http.routers.norish.entrypoints=websecure
      - traefik.http.routers.norish.tls.certresolver=letsencrypt
      - traefik.http.services.norish.loadbalancer.server.port=3000
    restart: unless-stopped
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    container_name: norish-db
    environment:
      - POSTGRES_USER=norish
      - POSTGRES_PASSWORD=***      - POSTGRES_DB=norish
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    restart: unless-stopped

Configuration

  1. Cloner le repo ou utiliser l'image ghcr.io/norish-recipes/norish:latest.
  2. Générer un NEXTAUTH_SECRET fort (openssl rand -hex 32).
  3. Configurer la base PostgreSQL (URL dans DATABASE_URL).
  4. Lancer les migrations : docker compose exec norish npx prisma migrate deploy.
  5. Créer le compte admin depuis l'UI et désactiver les inscriptions publiques si non souhaité.

Alternatives

  • Open source : app-mealie (référence, plus mature), app-tamari (léger, Python), app-vanilla-cookbook (PHP), Tandoor Recipes, Grocy (planning + inventaire), RecipeSage, Forkful, kptn, Cookpad-like (self-hosted), Bakin Recipe.
  • Propriétaire : Paprika Recipe Manager, CopyMeThat, Plan to Eat, Yummly, Samsung Food, BigOven, Cookpad (cloud, FR).

Sécurité

  • NEXTAUTH_SECRET doit être changé avant le premier démarrage (clé de signature des sessions).
  • HTTPS obligatoire : les recettes familiales contiennent parfois des données sensibles (allergies, régimes).
  • Authentification OIDC supportée nativement pour intégrer Norish à l'écosystème du homelab.
  • Backups PostgreSQL : pg_dump quotidien + rotation des sauvegardes.
  • Rate-limiting sur les endpoints d'import Web pour éviter le spam de scraping.

Ressources

Pages Liées