---
title: Norish
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, recipes, self-hosted, typescript]
confidence: medium
contested: false
sources:
  - 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
```yaml
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
- Code : https://github.com/norish-recipes/norish
- Wiki : https://github.com/norish-recipes/norish/wiki
- Releases : https://github.com/norish-recipes/norish/releases
- Issues : https://github.com/norish-recipes/norish/issues

## Pages Liées
- [[cat-recipes]] — Catégorie parente
- [[app-mealie]] — Gestionnaire de recettes mature
- [[app-tamari]] — Alternative Python légère
- [[recettes-docker-compose]] — Modèles de stacks
