TypeScript AGPL-3.0

norish

Norish - A realtime, self-hosted recipe app for families & friends

N

norish-recipes

Dernière activité 26 sept. 2026
norish-recipes/norish

1,2 k

étoiles

110

forks

85

issues ouvertes

foodmeal-plannerrecipesself-hosted

Ce README est souvent en anglais.

Norish Logo

Website Documentation License Build Status Docker Pulls Docker Image Size Buy Me a Coffee


Norish

Norish is a real-time, household-first recipe app for planning meals, sharing groceries, and cooking together.

For the website and documentation see: norish.dev and docs.norish.dev

Quick start

The fastest way to try Norish is Docker Compose. At a minimum you need a DATABASE_URL and a MASTER_KEY:

Tip

Generate a MASTER_KEY with openssl rand -base64 32. Keep it secret and stable — it derives the encryption keys, so changing it later invalidates previously encrypted data.

services:
  norish:
    image: norishapp/norish:latest
    container_name: norish-app
    restart: always
    ports:
      - "3000:3000"
    user: "1000:1000"
    volumes:
      - norish_data:/app/uploads
    environment:
      AUTH_URL: http://localhost:3000
      DATABASE_URL: postgres://postgres:norish@db:5432/norish
      MASTER_KEY: <32-byte-base64-key> # openssl rand -base64 32
      OBSCURA_ENDPOINT: ws://obscura:9222
      REDIS_URL: redis://redis:6379
      UPLOADS_DIR: /app/uploads
      
    healthcheck:
      test:
        [
          "CMD-SHELL",
          'node -e "require(''http'').get(''http://localhost:3000/api/v1/health'', r => process.exit(r.statusCode===200?0:1))"',
        ]
      interval: 1m
      timeout: 15s
      retries: 3
      start_period: 1m
    depends_on:
      - db
      - redis

  db:
    image: postgres:17-alpine
    container_name: norish-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: norish
      POSTGRES_DB: norish
    volumes:
      - db_data:/var/lib/postgresql/data

  # Renders recipe pages for URL imports
  obscura:
    image: norishapp/obscura:0.2.2-norish.1
    container_name: norish-obscura
    restart: unless-stopped

  redis:
    image: redis:8.4.0
    container_name: norish-redis
    restart: unless-stopped
    volumes:
      - redis_data:/data

volumes:
  db_data:
  norish_data:
  redis_data:

Contributing

Contributions are welcome! See CONTRIBUTING.md or the development docs to get started.

License

Norish is licensed under AGPL-3.0.


Nora

Last but not least, a picture of our lovely dog Nora:

Nora

Projets similaires

Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor

Pythonmeal-plansrecipe-managerself-hosted
Mmealie-recipes
13,4 k étoiles1,5 k

Application for managing recipes, planning meals, building shopping lists and much much more!

HTMLcookbookcookingdjango
TTandoorRecipes
8,6 k étoiles875

Programmer's guide about how to cook at home.

chinesecookbookcooking
AAnduin2017
102,4 k étoiles11,1 k