All apps · 0 apps
Norish
Docker app from grtgbln's Repository
Overview
Readme
View on GitHub
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_KEYwithopenssl 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
CHROME_WS_ENDPOINT: ws://chrome-headless:3000
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
chrome-headless:
image: zenika/alpine-chrome:latest
container_name: chrome-headless
restart: unless-stopped
command:
- "--no-sandbox"
- "--disable-gpu"
- "--disable-dev-shm-usage"
- "--remote-debugging-address=0.0.0.0"
- "--remote-debugging-port=3000"
- "--headless"
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:
Media gallery
Install Norish on Unraid in a few clicks.
Find Norish in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Requirements
Requires separate PostgresDB and Chrome Headless instances.
First-time setup requires configuring OIDC settings. See instructions: https://github.com/norish-recipes/norish#first-time-auth-provider
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allDetails
norishapp/norish:latestRuntime arguments
- Web UI
http://[IP]:[PORT:3000]/- Network
bridge- Privileged
- false
Template configuration
Container Port: 3000
- Target
- 3000
- Default
- 3000
- Value
- 3000
The public URL where Norish will be accessible
- Target
- AUTH_URL
- Default
- https://norish.example.com
- Value
- https://norish.example.com
Postgres database connection URL
- Target
- DATABASE_URL
- Default
- postgresql://user:password@host:port/database
- Value
- postgresql://user:password@host:port/database
A secure, random string used for encryption and signing. Generate with 'openssl rand -base64 32'
- Target
- MASTER_KEY
WebSocket URL for a headless Chrome instance (e.g., ws://chrome:9222)
- Target
- CHROME_WS_ENDPOINT
- Default
- ws://IP_ADDRESS:PORT
- Value
- ws://IP_ADDRESS:PORT
Path to the uploads folder
- Target
- /app/uploads
- Default
- /mnt/user/appdata/norish/uploads
- Value
- /mnt/user/appdata/norish/uploads
Internal path to the uploads folder inside the container. Not recommended to change.
- Target
- RECIPES_DISK_DIR
- Default
- /app/uploads
- Value
- /app/uploads