100% open source · Self-hosted

Your kitchen, perfectly in sync.

Norish is the open-source recipe app for families & friends. Import recipes from any link, plan your meals together, and keep your grocery lists in sync with the people you cook for.

Free and open source. Self-host it in minutes.

The Norish recipe dashboard

Features

Everything your kitchen needs

A calm, beautiful home for recipes, groceries and planning, shared with the people you cook for.

Import in seconds

Paste a link and Norish pulls the recipe in clean and structured. Add an AI provider to import from photos, screenshots and TikTok, Reel or YouTube videos.

Nutrition & allergy insight

Automatic calories, protein, carbs and fat estimations. Allergy detection that flags ingredients before they reach the table.*

Plan together

Drop recipes onto a meal calendar your household shares, and bring the plan into your own calendar app over CalDAV.

Shop together

Build a shopping list your household shares. Split the aisles between you, and as one person ticks off an item it updates for whoever else is shopping, so nothing gets bought twice.

Real-time, always

Edit a recipe, tick off an item, plan a dinner, and the people you share with see it instantly on every device, no refresh required.

Cooking mode

A focused, step-by-step view with timers and scaled quantities, and a screen that stays awake while you cook.

Bring your own AI

Connect a cloud provider like OpenAI or Anthropic, or run a local model with Ollama or LM Studio. It powers photo, screenshot and video imports, nutrition estimates and allergy detection, and only runs when you turn it on.

Auth on your terms

Sign in with any OIDC provider, such as Authentik, Keycloak or Pocket ID, with GitHub or Google, or with plain email and password. Map OIDC groups straight to roles and households.

In your language

Use Norish in 10 languages, translated by the community. Set a default for your instance, or let everyone pick the language they read best.

* Requires an AI provider, which you bring and configure yourself.

The recipe page

A recipe page you'll want to cook from

  • Scale any recipe to the servings you need
  • One-tap metric ⇄ US unit conversion*
  • Estimate nutritional information*
  • Detect allergies and flag them*

* Requires an AI provider, which you bring and configure yourself.

A Norish recipe page
Norish dashboard on mobile
Norish recipe on mobile

On every device

Made for the way you really cook

  • Installable PWA, add it to your home screen
  • Polished light and dark themes
  • Available in 10 languages
  • Native apps in the works

How it works

From link to dinner in three steps

01

Import

Paste a recipe link and it's imported in seconds, no retyping. Add AI to pull from photos and videos too.

02

Plan

Schedule meals on the shared calendar and your grocery list fills itself in automatically.

03

Cook

Open cooking mode for big, glanceable steps with timers and scaled quantities, from prep to plate.

Open source & self-hosted

Your recipes. Your server. Your rules.

Norish is free and fully open source under the AGPL-3.0 license. Run it on your own hardware with Docker, with no subscriptions and no lock-in. Bring your own auth with OIDC, GitHub or Google, or keep it simple with email and password.

AGPL-3.0 licensedSelf-hostedOne-command Docker
docker-compose.yml
services:
  norish:
    image: norishapp/norish:latest
    restart: always
    ports: ["3000:3000"]
    volumes:
      - norish_data:/app/uploads
    environment:
      AUTH_URL: http://localhost:3000
      DATABASE_URL: postgres://postgres:norish@db:5432/norish
      MASTER_KEY: <openssl rand -base64 32>
      REDIS_URL: redis://redis:6379
      CHROME_WS_ENDPOINT: ws://chrome-headless:3000
    depends_on: [db, redis, chrome-headless]

  db:
    image: postgres:17-alpine
    environment:
      POSTGRES_PASSWORD: norish
      POSTGRES_DB: norish
    volumes:
      - db_data:/var/lib/postgresql/data

  redis:
    image: redis:8.6.2
    volumes:
      - redis_data:/data

  # Headless Chrome, used to scrape recipes from the web
  chrome-headless:
    image: zenika/alpine-chrome:latest
    command:
      - --no-sandbox
      - --remote-debugging-address=0.0.0.0
      - --remote-debugging-port=3000
      - --headless
    shm_size: 256m

volumes:
  db_data:
  norish_data:
  redis_data:

then docker compose up -d, and you're cooking.

Nourish every meal.

Spin up your own Norish in minutes and give everyone you cook for one calm, beautiful place to cook from, together.