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
+97
View File
@@ -0,0 +1,97 @@
---
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