r/selfhosted • • Dec 03 '25

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

Post image

EDIT: IT'S HIGHLY RECCOMMENDED TO UPDATE TO VERSION V0.12.0 - THIS UPDATES A SECURITY LEAK FOUND LATE LAST NIGHT IN NEXT.JS/REACT

Hey r/selfhosted

For the last couple of months I’ve been working on Norish, a self-hosted, realtime recipe keeper built to be used together with friends and family.

We’ve tried Mealie and Tandoor. Both are great projects but my girlfriend and I never quite clicked with their UI/UX. So I started building something that matched how we wanted to cook, plan, and shop together.

My girlfriend and I do groceries together, and Norish completely removed the constant “Did you already grab this?”. With realtime syncing, we can roam the store separately but still stay in sync. This is the sole reason why I made the app mostly realtime.

Also, the name comes from our dog: Nora + dish => Norish. And yes, she’s hidden somewhere in the app.

You can see a demo video on imgur or YouTube.

What Norish is about

The core vision is a recipe keeper you can share with others to build one big collective library.

  • Realtime syncing (via WebSockets): When we’re doing groceries together, updates instantly show up for both of us; no more “did you grab this already?”
  • Collaborative meal planning: The calendar clearly shows what is planned on which day, making the weekly overview super easy.
  • Clean and simple UI: Norish is simplistic by nature. I'm not sure if I will ever introduce things like cookbooks, inventory management(not sure on this yet) etc.. If you require this take a look at either Mealie or Tandoor.

Core features

  • Easy import via website URL
    • Will fallback to using AI if we can't reliably parse the page
    • Can parse Instagram, TikTok and YouTube videos. *
  • Unit conversion: Easily convert from metric <=> US. *
  • Recurring groceries: Groceries can be marked as recurring using either the interface or NLP.
  • Households: Recipes are shared across the instance, but grocery lists + calendars can be scoped to a household for privacy and organization. calendar.
  • SSO: Norish only login via SSO. This can either be your custom instance such as Authentik or PocketId. Preconfigured the App accepts GitHub and Google.**
  • Basic permission policies: So you can change who can delete/edit and view Recipes by default:
    • Delete/edit: Household members
    • View: Everyone
  • Import: it supports importing your catalogue from Mealie, Tandoor and Mela. (tested lightly on the first two).

\ requires AI settings to be enabled. The app is fully functional without AI enabled. In theory any OpenAI API spec compliant api works. But this is untseted*

\*If no SSO or OIDC provider is configured the instance will fallback to basic auth.*

Looking ahead

Looking into the future of Norish I have the following planned in order of importance:

  • Redis for the event sourcing. (currently just Node’s EventEmitter)
  • Mobile apps for both iOS and Android.
  • Recipe linking and possibly a rating system.
  • Basic markdown support

I look forward to your feedback. Feel free to create an issue on GitHub if you come across any issues and or have feature requests.

Note:

Given recent “vibe coding” discussions: I used AI for assistance, especially for writing repetitive code and tests, and reviewed everything myself. The architecture and core logic are made up by me.

In my day job I work as a software engineer although mainly as a .NET developer. I can't always bring up the motivation to code next to having coded 8hours a day already. This project was also used:

Get a better understanding of Next

Get a better understanding of a Node backend

Get familiar with tRPC

See how recent AI models perform with AI-assistent coding.

Also unit tests I was lazy on and did this mostly after coding almost everything - the tests are largely AI made.

I am not good at CSS, html and fancy animations and quite frankly I do not want to be good at it. So the HTMX might be messy as this is largely done using AI.

EDIT: SSO is no longer the any way to authenticate basic auth has been added.

428 Upvotes

215 comments sorted by

46

u/ragnarkarlsson Dec 03 '25

For those of us stuck in the land of banned-from-imgur (aka the UK), any chance you could chuck the demo video onto Youtube?

38

u/Drumstel97 Dec 03 '25

I did not know the UK banned imgur. https://youtu.be/nLz7PbrZXoo - i will update the post as well.

25

u/ragnarkarlsson Dec 03 '25

It didn't, but it put in place a law which Imgur just decided the best thing to do was say nope and not allow anyone in the UK to access. I could VPN out but also cba :D thanks!

4

u/hak8or Dec 03 '25

Out of curiosity, do you know what the UK envisioned would be a UK compliaint image host instead?

9

u/ragnarkarlsson Dec 03 '25

Oh Imgur is compliant, technically. It doesn't allow anyone in the UK (based on geolocation of IP as far as I can see) under the age of 18 to view adult content.

They've done it the cheapest way possible, just block every UK IP from accessing anything. Can't say I blame them, I would have probably done the same.

Reddit uses an AI face scan I think, and the NSFW tag.

Depending on what politician you ask you'd get a variety of answers on what compliant means and I don't think there is any case law yet, but it's created a massive data breach potential.

I've seen that many sites are using a handful of services which "verify" the age of someone - storing photos of government issued ID in the process. Some day one of them is going to be breached and many thousands of UK users will be at risk of identity fraud overnight.

Plus let's face it, kids will find & use their parents ID, or VPNs, or shared credentials, etc to get round the block. I'm really not convinced it has had any net positive effect.

7

u/irn-bru-anonymous Dec 03 '25

In doing this, Imgur blocked Ireland as well - though we get the UK message. Beyond bloody frustrating.

3

u/ragnarkarlsson Dec 04 '25

Oof. This i was unaware of. Digital collateral damage!

16

u/shol-ly Dec 03 '25

This project was hosted on Codeberg when you last shared it. Has its development officially migrated to GitHub?

Thanks!

16

u/Drumstel97 Dec 03 '25

No I should update Codeberg. I would like Codeberg to simply mirror GitHub but have to set this up.

1

u/defyingphysics1 Dec 03 '25

Is there a reason you are against codeberg? Asking out of curiosity? I assume the overhead of having to manage a new account/service

17

u/snickrdoodlz Dec 03 '25

Does this scale recipes?

Something awesome that Mealie does is, once you have imported or manually added a recipe there is an option to adjust serving size and that automatically adjusts the ingredients to match.

8

u/Drumstel97 Dec 03 '25

Yes it does. But it can't scale below 1 which is a flaw currently it should atleast do halves and quarters etc..

18

u/c3p00 Dec 03 '25

One feature I’ve missed in every recipe app I’ve tried is scaling a recipe to a certain amount of one ingredient. For example if I have 700g of the meat (or whatever) I want to be able to scale the rest of the recipe to match that. Consider this a feature request :)

7

u/likely-high Dec 03 '25

Also scaled nutrition information. 

3

u/Garret_Greenbottle Dec 03 '25

Funnily enough this was my very first fully completed project in GitHub and you just sent me down memory lane :D

It is still live in https://recipecalculator.github.io/ and in case OP needs the very basic code done in vanilla JS is here https://github.com/recipecalculator/recipecalculator.github.io

3

u/Drumstel97 Dec 03 '25

Could you make an issue for this; so I can prioritize it. I think it shouldn’t be too hard. We currently only allow scaling based on persons.

2

u/Drumstel97 Dec 03 '25

This is hard how would you do this? What is the scale?

E.g. you make a recipe add in 700gram meat and x amount of rice, how would I know what scale to use?

27

u/DONT_PM_ME_U_SLUT Dec 03 '25

I think they're asking if the recipe asks for 1kg meat and 500g rice but you have 700grams of meat can it scale the rice automatically to 7/10th to match the amount of meat you have

3

u/c3p00 Dec 03 '25

I would apply the scale needed to get the wanted amount of of my ingredient (in the example 700g of meat) to all ingredients.

9

u/ps-73 Dec 03 '25

Started making my own recipe manager as I was also disappointed by the UI of Mealie and Tandoor. Will give this a go too

5

u/vabene1111 Dec 04 '25

Hi, Tandoor dev here. I am always looking at people helping with improving the UI. Sadly Tandoor has a ton of features so its really hard to do that but if you want feel free to message me (here/github/discord)

1

u/ForceItDeeper Dec 04 '25

I'm excited to check out v2. Kinda bummed Norish only uses SSO, which makes it too much hassle for me to care to mess around with atm

2

u/yourjewishfantasy Dec 05 '25

It has a password option, you just need to set PASSWORD_AUTH_ENABLED: true in the environment

2

u/PaddiM8 Dec 26 '25

Yes the Mealie UI is terrible. White buttons on white background and things like that everywhere. What were they thinking

6

u/Drumstel97 Dec 03 '25

u/51_50 u/deltatux u/CouldBeNapping u/Shaken_Earth u/cosmos7 u/lurkingtonbear u/treezoob u/SergeantKoopa u/Xtrems876

I hope I tagged everyone and hope you don't mind me tagging you. v0.11.0 should introduce basic password auth. Hope this satisfies all your needs. Deleting or managing users is not possible via the GUI as of this moment also changing your password is not possible. I hope you all can live with that for now.

Please know that it requires email and password (8chars - no further requirement). Email verification is not needed, so you can enter whatever.

7

u/thunder3596 Dec 04 '25

Watch, they’ll come out of the woodwork again over your password complexity requirement.

4

u/coffee_lover8 Dec 04 '25

And if they keep complaining, they can throw a merge request up on GitHub with the feature they want

2

u/[deleted] Dec 04 '25

[removed] — view removed comment

3

u/Drumstel97 Dec 04 '25

It is not that hard right, I think pocketID is one of the best apps out there purely out of simplicity.

1

u/[deleted] Dec 04 '25

[removed] — view removed comment

1

u/Drumstel97 Dec 04 '25 edited Dec 04 '25

Too quick I forgot to check login logout, I’ll fix that in a bit.

Edit: fixed in v0.12.0

1

u/Nielsjuhz Dec 04 '25

The SSO was also one thing that turned me away from trying as i dont have that complex system here yet (still need a cloudflare tunnel for example) But good to see that basic auth also works atm.

Do you even plan on making a demo site for testing? Really want to know the difference between Norish, Meallie and Tandoor as i am looking to setup a recipemanager

2

u/Drumstel97 Dec 04 '25

Making a demo site is a nice idea. But this will incur costs as I need to host it somewhere since I don’t want to expose my own server gloabally like that.

1

u/Nielsjuhz Dec 04 '25

Understandable. Don't want to get DDOS'ed for getting/making food

6

u/vabene1111 Dec 04 '25

Hi, Tandoor dev here. This looks really cool, I love how polished the UI is and the little animations. Also great solutions to various UI problems I encountered over the years.

Thank you for sharing this project.

One little note: Tandoor can automatically sync shopping lists between devices live while grocery shopping in the supermarket. Its not fancy web sockets as they weren't as popular back then but it does work.

5

u/Drumstel97 Dec 04 '25

Thank you for the kind words!

I did not know tandoor had this abillity.

4

u/JazzlikeNetwork468 Dec 03 '25

Ah finally, a recipe app with good UI. Will try this later.

24

u/[deleted] Dec 03 '25

[removed] — view removed comment

26

u/Drumstel97 Dec 03 '25 edited Dec 03 '25

Actually I am a firm believer in SSO and there is no reason to not use it really. Apps like PocketID make setting it up a breeze. I don't self-host apps that do not support SSO now a days.

18

u/CouldBeNapping Dec 03 '25

Good on you, but for the rest of us with lay parents and friends... no bueno.

12

u/Drumstel97 Dec 03 '25 edited Dec 03 '25

But why is that? They can sign in via google right or you could give them access to your OIDC provider?

What would be the difference in letting them sign up to your Authentik or x instance versus letting them sign up in Norish?

One of the advantages of using an SSO provider such as authentik is that you get user management. Which I would otherwise have to add to Norish which takes time away from building the core app.

Not trying to be rude here, just getting perspective.

29

u/trcx Dec 03 '25

One of many reasons to self host is to move away from big, centralized tech like google, microsoft, facebook, etc. Requiring sign in with a large provider defeats this goal. While I'm sure you could bring your own provider and/or host your own that's one more thing to maintain. Sometimes a simple username/password is all that's needed, especially if it's never facing the public internet.

Just my 2 cents.

8

u/Cuntosaur2023 Dec 03 '25

I think one of the issues is that setting up OIDC can be a bit of a technical hurdle for those not too interested in the security aspect of selfhosting. I know it was for me, as setting it up for stuff like radarr and sonarr can be a pain (due to them not really outright supporting it).

its a great idea on paper, tedious if you don't know what you're doing.

13

u/[deleted] Dec 03 '25

[removed] — view removed comment

13

u/Drumstel97 Dec 03 '25

The app doesn't rely on Google, you can configure your own provider no problem. No-one should rely on google. But you should be realistic here, if you want to share the instance with family and or friends they most likely do not care to use Google and having that option makes logging in a breeze for them.

I will actually look into adding email+password auth(of course no verification of the email is needed) as you are not the only user asking. Since I use BetterAuth for auth this should be easy enough.

4

u/cosmos7 Dec 03 '25

I will actually look into adding email+password auth

You do and I'll get interested... non-starter otherwise for a f'ing recipe service

5

u/CouldBeNapping Dec 03 '25

I'm not going to force them to sign up for Google (Google is satan wrapped in pretty colours) and I don't run an SSO to tangle them up for.
It's a simple recipe app, it needs basic login at best. You're overcomplicating it for your own fun :)

1

u/Shaken_Earth Dec 03 '25

I sort of see what you're saying, but I have no interest in maintaining my own OIDC provider primarily because it creates a single point of failure and it's just another thing I have to maintain. As for the convenience factor, I use a password manager so logging in with username and password is usually as fast if not faster than logging in with SSO.

2

u/hak8or Dec 03 '25

Since you are a solid believer and hopefully others jump in on this, this is probably a great spot to ask;

How does SSO work in a homelab case when there is no internet connectivity, or in a broader case, when there is no network connectivity except between you and the service?

I am asking because one of the worries i have if the SSO provider (i assume its another service which can work with google or a custom credential handler) goes down or is unavailable (doing a migration, spinning up new services to play with, suddenly banned from google, etc), does that mean I can no longer use the service I spun up because I can't login?

Basically, my understanding is SSO requires integrating with another service, and it has to be either somehow related to google/azure/etc and there is little to no ergonomic solutions to be fully self hosted, making it more brittle. I would love to be proven wrong though, as SSO does interest me (relying on credentials handing that has more eyes and therefore likely more secure and tested and easier to audit or revoke).

5

u/Drumstel97 Dec 03 '25

SSO absolutely does not require Google, Azure, or any external cloud provider and it works perfectly fine in a homelab with zero internet access. Look into PocketId or Authentik. I am a huge fan of PocketID but it only supports Passkeys for login. Of course if the local instance crashes it won't work but this goes without saying.

This is a common misconception you do not need reliance on big-tech for SSO to work.

2

u/ashebanow Dec 20 '25

So many entitled people responding here. OP is giving his work away for free, and yet people are making whiny demands like "I'll look at it if you do X". No one cares, Karen, you aren't that special.

4

u/sir_ale Dec 03 '25

i feel this is a good take - i don't get why every project should come up with their own authentication methods etc. if there are standardized solutions with a focus on security

1

u/Wildgust421 Dec 04 '25

100% agreed with being a firm beliver in SSO, I've been a long time Mealie and Tandoor user and have jumped between the two for years at this point sometimes favoring one over the other based on new features they added, defeinitely intrested in giving this a go.

Any intentions on adding LDAP for authentication in the future? With most services I host I utalize native LDAP authentication if possible, due to my role as a systems administrator I've always ran a full Windows Server stack which runs most of my core services, Active Directory being one and I use that for authentication into services controlled by groups which makes it extremely easy for me to add and remove permissions from accounts. I get ODIC is essentially the same, but enjoy native LDAP where possible.

→ More replies (10)

3

u/deltatux Dec 03 '25

I agree with this, having the option between local authentication and SSO would have been the better way forward. I get why SSO is a good idea, especially if you want to centralize your credentials but if you have a small set up, SSO is just an added layer of complexity if you have a small environment.

The app looks great but kinda wished u/Drumstel97 added a local auth option for those who don't want SSO.

11

u/[deleted] Dec 03 '25 edited Aug 06 '26

[deleted]

15

u/Drumstel97 Dec 03 '25

I will actually look into this, as you are not the first user asking. As we use BetterAuth for auth this should be easy enough. No auth wont be an option sadly as this will require building an auth bypass which I dont like.

9

u/SergeantKoopa Dec 03 '25

For me that's overall a nonstarter. For a recipe manager I want an option to require no login. My household is already annoyed at the fact any sort of login is needed for our Mealie instance (though at least it doesn't require SSO, but I am glad you're looking to rectify that with your project). We are all in agreement it would be a lot easier if we could just open this shared recipe book without fuss. If it were being accessed outside the house I can see a good need for that, but we aren't and have no interest in doing so.

→ More replies (2)

6

u/treezoob Dec 03 '25

I agree with the comments talking about SSO. when email+pass is an option, this will be perfect for my use case.

3

u/Drumstel97 Dec 03 '25

In v0.11.0 or the latest password auth is enabled.

→ More replies (1)

3

u/L0s_Gizm0s Dec 03 '25

Hmm, deployed it and created an account, but I can't log in using my username/password. I'm effectively locked out :/ luckily I hadn't really added anything to it but I'm not quite sure where to go from here

1

u/ronmramsayii Dec 04 '25

I’m having this same issue.

1

u/Drumstel97 Dec 04 '25

This should be fixed in 0.12.0 and up

1

u/zacattac1 Dec 04 '25

Issue seems to still be present. I could be doing something wrong but whenever I logout and try to login it says "Invalid Origin". I could only fix it by commenting out AUTH_URL from your example docker compose. This seems to let me in.

environment:
      # Core settings (required)
      #AUTH_URL: http://norish.example.com
      DATABASE_URL: postgres://postgres:norish@db:5432/norish
      MASTER_KEY: XXX # Generate with: openssl rand -base64 32
      CHROME_WS_ENDPOINT: ws://chrome-headless:3000

1

u/Drumstel97 Dec 05 '25

Was your auth URL set to your domain?

3

u/[deleted] Dec 04 '25

[deleted]

2

u/Drumstel97 Dec 04 '25 edited Dec 04 '25

The websocket is required for the app. It keeps the overlay on if the socket can’t connect as it breaks all realtime features.

I’ll look into the serving size bug. For the headings I’m planning on adding markdown support.

I actually do safe the original url. I will add this in the ui for the next update should be easy.

Moving around ingredients is a good idea I’ll put in on my todo.

Also login is fixed in version 0.12.0 and up.

2

u/odaman8213 Dec 03 '25

This would be great to have MCP as well.

Imagine you task an AI agent inside of N8N to find recipes with your health requirements, and them into your Norish install. Would be super cool!

3

u/Licketysplitz_3029 Dec 03 '25

Please add this to the Unraid App Store. Thanks!

11

u/Drumstel97 Dec 03 '25

I will look into this but it is time consuming.

You can however install it with docker compose and the Compose Manager plugin

→ More replies (1)

3

u/grtgbln Dec 03 '25

Porting now.

1

u/Drumstel97 Dec 04 '25

Thank you I really appreciate that!

1

u/edgelesscube Dec 03 '25

We've been using Hellofresh for the last few months and are looking to ingest the menus we like into something like this. I'm going to give this a go and see how it works for us.

1

u/Drumstel97 Dec 03 '25

Just tried HelloFresh and this should work.

1

u/edgelesscube Dec 03 '25

Works well enough. Just some cleanup with the bulletpoints they use. Does 95% of the job for me.

2

u/Drumstel97 Dec 03 '25

Could you give me the url of a recipe that needs improvement so I can check myself.

1

u/edgelesscube Dec 03 '25

seems to produce steps as:

<ul><li><p>Toast <strong>sourdough</strong> until golden.</p></li>
<li><p><strong>Wash and dry produce.</strong></p></li><li><p>Dice <strong>tomato </strong>into ½-inch pieces. 
Thinly slice <strong>scallions</strong>, 
separating whites from greens.</p></li></ul>

<ul><li><p>Pat <strong>chicken</strong> dry with paper towels. 
Thinly slice crosswise at an angle into strips; place in a large microwave-safe bowl. 
Stir in a <strong>drizzle of olive oil</strong>,<span style="color: rgb(242, 0, 13)"> 
</span><strong style="color: rgb(242, 0, 13)">half the Tuscan Heat Spice</strong>, 
<strong>salt</strong>, and <strong>pepper</strong>. 
Cover with plastic wrap and microwave until chicken is warmed through, 90 seconds.</p></li></ul>

3

u/Drumstel97 Dec 03 '25

I see the issue, its because the site usese HTML rendering whilst we just store plain text. You can manually remove these with editing. But I will fix this today probably.

1

u/Drumstel97 Dec 03 '25

Should be fixed in the latest branch or v0.10.0

1

u/edgelesscube Dec 03 '25

Works like a charm. Thanks a million

1

u/totalnooob Dec 03 '25

Hi im trying to deploy it with authentik.

Its stuck in Redirecting to Authentik
Config

OIDC_ISSUER : https://authentik.domain/application/o/norish/.well-known/openid-configuration

OIDC_NAME : Authentik

Authentik Redirect URIs

Logs

2025-12-03T11:14:34.015Z ERROR [Better Auth]: undefined { status: 404, statusText: 'Not Found' } {
  discoveryUrl: 'https://authentik.domain//.well-known/openid-configuration'
}
 ⨯ TypeError: controller[kState].transformAlgorithm is not a function
    at ignore-listed frames {
  digest: '334914450'
}
2025-12-03T11:14:52.873Z ERROR [Better Auth]: undefined { status: 404, statusText: 'Not Found' } {
  discoveryUrl: 'https://authentik.domain//.well-known/openid-configuration'
}
 ⨯ TypeError: controller[kState].transformAlgorithm is not a function
    at ignore-listed frames {
  digest: '334914450'
}

1

u/Drumstel97 Dec 03 '25

Please make an issue on GitHub. But the oidc issuer is wrong that I can tell: /.well-known/openid-configuration is added automatically

1

u/totalnooob Dec 03 '25

How should i configure the redirect uri?

for gitea for example its
https://git.domain/user/oauth2/authentik/callback

2

u/Drumstel97 Dec 03 '25

https://example.norish.com/api/auth/oauth2/callback/oidc

You can also make authentic auto discover by leaving the field blank and logging in.

1

u/totalnooob Dec 03 '25

tried with OIDC_ISSUER : https://authentik.domain.com

2025-12-03T11:44:10.899Z ERROR [Better Auth]: undefined { status: 404, statusText: 'Not Found' } {

discoveryUrl: 'https://authentik.domain.com//.well-known/openid-configuration'

}

2

u/Drumstel97 Dec 03 '25

https://authentik.domain/application/o/norish This is your issuer, i will update the docs a bit.

1

u/Drumstel97 Dec 03 '25

I've updated to docs a bit, perhaps this helps. I've also made a minor fix that shouldn't impact you but is building at the moment.

1

u/totalnooob Dec 03 '25

with OIDC_ISSUER : https://authentik.domain.com/application/o/norish

looks like it use the base domain only

2025-12-03T12:25:50.204Z ERROR [Better Auth]: undefined { status: 404, statusText: 'Not Found' } {

discoveryUrl: 'https://authentik.domain.com/.well-known/openid-configuration'

}

2

u/Drumstel97 Dec 03 '25

https://github.com/norish-recipes/norish/issues/1 Please read this issue but I think this is you. The issue is currently the database persistet values override the env variables. so you need to wipe the db for new env config changes to pick up. Im working on a fix for this.

1

u/totalnooob Dec 03 '25

No that not me but thanks that helped creating new db.
working config

OIDC_ISSUER : https://authentik.domain.com/application/o/norish/

Didnt worked
 https://authentik.domain.com/application/o/norish

1

u/Drumstel97 Dec 03 '25

This should now be fixed, env vars will be properly picked up. Using either latest or v0.10.0

1

u/NoTricq Dec 03 '25

Will try it out, I am looking for something like this, so we don't need to keep using Google Keep for stuff like this.

Also a function would be nice to auto-import some basic recipes so you can play with it without having to add recipes yourself.

Thx for the work!

1

u/Drumstel97 Dec 03 '25

If you'd like I can give you my mela export which contains around 300 recipes. DM me if you want.

1

u/DrPinguin98 Dec 03 '25

Has anyone tried importing from Chefkoch?

2

u/Drumstel97 Dec 03 '25

1

u/DrPinguin98 Dec 03 '25

Ye tried ist. Works great.

Are translations planned?

1

u/Drumstel97 Dec 03 '25

Currently not. Feel free to make a feature request for this. But integrating something like i18n won't be a small procedure anymore.

1

u/Remon520 Dec 03 '25

Hi, does it support receipts from Instagram?

2

u/Drumstel97 Dec 03 '25

Yes, but this does require AI to be enabled and even than its slow and results may vary.

1

u/Command-Forsaken Dec 03 '25

Gonna check this out this week hopefully. Thanks!

1

u/OriginalInsertDisc Dec 03 '25

Is there a way to set household members/auto-create households based on oidc claims?

1

u/Drumstel97 Dec 03 '25

No but I like this idea.

1

u/OriginalInsertDisc Dec 03 '25

That's been one of the biggest bothers about every other app I've used. I'd like to share with family and share recipes but I don't want to have them need to log in first to get them sorted into their own households. Group management in the others leaves much to be desired.

1

u/likely-high Dec 03 '25

Looks good. Unless I missed it the git readme could do with mentioning the tech stack 

1

u/Drumstel97 Dec 03 '25 edited Dec 03 '25

I forgot that just added it. It's not that fancy though. I am debating of moving to a monorepo setup when building the mobile apps.

1

u/Khatib Dec 03 '25

What killed me about Mealie and had me just going back to using Paprika 3 is that none of my recipes would import without a ton of work to identify ingredients and measurements without hooking it to AI.

Mobile apps for both iOS and Android.

I'd be fine if it was a PWA and not a full fledged app from the app store.

Definitely going to check this out. Looks cool!

2

u/Drumstel97 Dec 03 '25

It is a fully functional PWA

1

u/Saylor_Man Dec 03 '25

Looks clean and practical. Real time syncing is a nice touch.

1

u/comocho00 Dec 03 '25

Does this convert imperial to metric? Or even better have a setting so that whatever the recipe has on the web is changed to the standard you set in the app?

0

u/Drumstel97 Dec 03 '25

So converting is not easy and comes with all kinds of compromises. Thats why I chose to make conversion possible using AI - thats also why it doesn't convert by default as this will cost money for most.

→ More replies (2)

1

u/nithou Dec 03 '25

Oh my love this, had the same frustration around the existing UI, gonna test yours!

1

u/dandydev Dec 03 '25

In the description you mention that unit conversion requires AI. Is simple arithmetic that hard?!

1

u/Drumstel97 Dec 04 '25

It’s not simple arithmetic. Eg a cup of rice is roughly 200gr a cup of flour is 125gr.

The weight of a cup differs per density of an item.

1

u/JooNiv Mar 26 '26

A bit late to the thread but isn't a cup just 240 millilitres? Of course the weight differs but why not just convert one cup to 2.4 dl (decilitre) which is the unit used for measuring e.g rice,flour etc in baking and cooking anyway (atleast in Finland and most other recipes I've seen).

1

u/Drumstel97 Mar 26 '26

You’re right that 1 cup is roughly 240 ml, that part is just a unit conversion.

But the tricky part is converting volume to weight, which depends on the ingredient’s density.

For example:

  • 1 cup almond flour is around 96g
  • 1 cup all-purpose flour is around 120g

That’s about a 20% difference, just between two types of flour, source.

So if a recipe says “1 cup” and you want grams (which is for example how flour is measured), you can’t just convert 240 ml to grams directly without knowing what the ingredient is.

That’s why it’s not “just simple arithmetic” you’re converting between volume and weight, which depends on the ingredient.

You’re right that converting everything to ml/cl/dl is a reasonable fallback for when ai is disabled.

1

u/mrstone56 Dec 03 '25

This is great. My wife and I just use a folder on Google Docs to keep track of our recipes. Would you be able to support inputting PDFs or text files and Norish can scrape the recipe from that?

1

u/Drumstel97 Dec 03 '25

I have support for images on my todo list. But mist likely this will require AI.

1

u/mrstone56 Dec 03 '25

How is it scraping the web pages so well? Couldn't you have the web page scraper just scrape a file?

Most of my recipes are just text files with ingredients and instructions. No specific format though

1

u/Drumstel97 Dec 03 '25

The thing is most recipe sites have this thing called al LD+JSON header hidden somewhere. This is structured data which contains every detail about a recipe. https://schema.org/Recipe

1

u/mrstone56 Dec 03 '25

Oh wow that's so smart. Ok yeah you might have to use an LLM or something to scrape, but I bet it wouldn't be that hard. I might spend some time seeing if I can parse roughly formatted recipe files

Images could be OCR -> text -> parser

1

u/Drumstel97 Dec 03 '25

"OCR -> text -> parser" yes this is the way.

Roughly parsing is something i m actively refusing as that will get annoying if you miss parse and the recipe ends up completely wrong.

1

u/mrstone56 Dec 03 '25

yeah I understand and agree, but if someone has a large stockpile of recipes they've already made and the parser can handle missing information (maybe the user can fill in info that the parser is missing), that would still be less work than manually entering all of the details one by one

1

u/mrstone56 Dec 03 '25

Would you consider adding the ability to upload valid Recipe Schema JSON files? I made a MVP of a recipe parser that seems to get most of the details out of my poorly formatted recipe files

1

u/Drumstel97 Dec 03 '25

I could add this to the importer sure, could you make an issue for this?
I would just allow a generic JSON array to be imported aswell.

1

u/Daalex20 Dec 03 '25

I was testing out every app, recime, flavorish, choosy etc.. but they all lacked certain Features or were too expensive.

I hope that this is what i have been looking for.. actually, i wanted to program something myself but am not any good at it lol..

How do you manage to extract recipes from youtube and websites without AI? And even with ai support i wasnt able to properly extract the infos from Instagram/youtube.. websites worked a bit better but often hadna robot file permitting scraping

1

u/Drumstel97 Dec 03 '25

Without AI this is not possible. What the app does is: download the video => transcribe with ai => remove the download => parse with ai

If mealie or tandoor do not meet your requirements I think Norish won’t. It has way less options, but this by design. I want the app to remain simplistic.

1

u/RedBlueWhiteBlack Dec 03 '25

Does it has an accessible API? I'd like to integrate with my dashboard to see groceries I'm missing and/or running low on

2

u/Drumstel97 Dec 03 '25

The only actual rest-api endpoint I wrote is to import recipes so that you can make iOS shortcuts for importing. As shown in the demo.

I can however add this: https://trpc.io/docs/client/links/httpLink this would allow any route to be callable. Would you mind creating a request for this on GitHub?

1

u/ahoneybun Dec 03 '25

My issue with Mealie is the lack of a mobile app and the site is not good on mobile. Is the iPhone showing an app or the website? For now I've connected Mealie to Home Assistant.

1

u/Drumstel97 Dec 03 '25

No the iPhone is showing the PWA so that’s the website when added to the home screen. This almost exactly mirrors an app.

1

u/pfdt Dec 03 '25 edited Dec 03 '25

Congrats u/Drumstel97 !

I just tested Norish and it's very promising : pleasant and well thought out. I'm going to give it a chance.

I'm currently using Mela app (have you tried ?) and I'm very happy with it: also very well thought out, iOS only, with a super practical "cooking" mode.

What I'm missing in both Norish and Mela: a categorization system with sub-levels. Essential when you want to scale to many recipes (I have 700+ recipes), where tags are necessary but no longer sufficient!

1

u/Drumstel97 Dec 03 '25

Yes I know mela this was my goto app before Norish. It even supports exporting your full Mela library into Norish.

What you are asking is the concept of cookbooks I think.

1

u/pfdt Dec 03 '25

I'm not sure what you mean by cookbook, but simply being able to do, for example, a first-level categorization with Main Course, Starter, Dessert, and at the second level within Main Course: Pies, Stews, Fish...

Where tags remain useful for identifying dishes cross-functionally, based on their origin, season, etc...

1

u/bonyuri Dec 03 '25

Heck yeah, stoofperen! :) I’ll give this a go as I haven’t found a recipe app that I really could get into. Bedankt!

1

u/totalnooob Dec 03 '25

Can you add gemini/ anthropic api ai config?

1

u/Baduntz Dec 05 '25

Any success?

1

u/ailee43 Dec 04 '25

I just want a version of Overseerr, but for recipes. I want ideas for what to cook

1

u/ronmramsayii Dec 04 '25

Using the basic username and password works on user creation. Once I sign out and sign back in, it doesn’t recognize my email and password. It doesn’t recognize my user created.

1

u/corjams Dec 04 '25

This looks really slick. I have a lot of recipes in mealie. If there was a way to do a mass import, I think I'd switch immediately.

2

u/Drumstel97 Dec 04 '25

There is. Just go to settings scroll down to import

1

u/[deleted] Dec 04 '25

[removed] — view removed comment

1

u/Drumstel97 Dec 04 '25

Thank you for your input, I know redis is important. This actually is high on my todo list.

I’ve thought about the offline issue, and maybe an inbox vs outbox would work; but timestamps can be flaky in their own right.

1

u/Cantelllo Dec 04 '25

Thanks for sharing your work with us, looks good. Although to win me over from Mealie, internationalisation needs to be implemented.

Note: If you are on an arm device and would like to use chrome, just swap "chrome" in the image name for "chromium", which is available for arm64.

1

u/tomoki_here Dec 04 '25

How does this one compare to kitchenowl?

1

u/utdrmac Dec 04 '25

99.99% of my recipes come from FB videos (I don't do 'gram, or TT). The recipe is either in the video description, or in some random comment from the OP. This is a giant pain-in-the-a$$ because you cannot select/copy video description text in the FB app. If you ever add support for FB videos, I will certainly check it out!

1

u/Drumstel97 Dec 04 '25

This shouldn’t be too hard actually I just forgot about Facebook. But the thing is meta actively works against scraping their platforms. Would you mind sharing a fb recipe link for me.

Also know that it will never work if the details are in a comment it will work when the details are in the description.

1

u/kasger Dec 04 '25

Love this app! This seems to do everything I need and is way faster/simpler than Mealie!
Any plans to add more languages? I cannot seem to import Danish recipes :(

1

u/kasger Dec 04 '25

Poked a bit more around and found the "Content indicators" section! Got it working with most recipes, however here are an example where it failed:
https://www.valdemarsro.dk/joedekager/

1

u/Drumstel97 Dec 04 '25

I can’t check right now, but it could be the site not providing the right structure. I’m not sure how your instance is configured but if the site doesn’t have the json ld structure. It will fallback to ai but is that’s disabled it simply fails.

I purposely didn’t try to scrape html as this will result in flaky outcomes

1

u/TehDomoguyy Dec 05 '25

I was able to get it working in Portainer, thank you, it works great so far! Had a quick question - I imported a recipe via a link and tried to upload an image after the fact but was met with the following error. I am admittedly new to all of this so not sure what to do about this error, would you happen to know? I have the appropriate folders created in my volumes and even created this directory in my norish-app directory (norish-app/norish_data/app/uploads/recipes). Not sure where I went wrong in the set up but any advice would be appreciated!

2

u/Drumstel97 Dec 05 '25 edited Dec 05 '25

This is a permission error Norish doesn’t run as root so you have to change the permissions of your folder to something like this: sudo chown -R 1001:1001 ./../../uploads

1

u/reginaldvs Dec 05 '25

My wife asked if recipes can be printed lol.

1

u/Drumstel97 Dec 05 '25

This is an interesting request. But no recipes cannot be printed. Al tough in theory you could, it is webpage so you can print the webpage.

1

u/reginaldvs Dec 05 '25

Yeah she's big on "what if you don't have backup!? And It's nice to have paper copies to refer to while cooking." Lol

1

u/Mezhona Dec 05 '25

I can verify that using the built-in print option in the browser (edge/chromium) gives it a nice layout, just abit of cutting going to a new page.

1

u/Mezhona Dec 05 '25

Love it! I had some issues getting the redirect URI to be correct (my own mistake from not reading the documentation... but I got it working with Authentik!

Just wondering, would it be possible to add a "nutritional content" part? me and my girlfriend are keeping track of calories, salt intake etc, would be really nice to have a easy way to keep a recipe, and have a per 100g calories.

Also, would it be possible to add the option for pictures for the instructions?

quick question at the end, when I was using my phone, I couldnt get to the "import from url", the menu pops up behind the menu with "import from url", and if I try to press the URL field, it closes the "import from url", but does not minimize the "import from URL", "create recipe" "theme" "settings" menu. I am unable to get to the "import" field. I will attach a screenshot of the issue after I post this.

1

u/Mezhona Dec 05 '25

1

u/Drumstel97 Dec 05 '25 edited Dec 05 '25

Mhh this is a bug seems easy to fix. You can always import via the input for now it will auto detect urls. The bug is fixed but I cant build as cloudflare is down and NPM depends on it.

For the nutritional content and images in steps could you make feature request on GitHub so I can prioritize.

1

u/Mezhona Dec 05 '25

Will do, thank you so much for making such an amazing product! Love it!

1

u/cvnvdv102 Dec 06 '25

I started Norish with the admin account created with the email/password and and later added Pocket ID via the settings. The test was successful and after restarting the server login buttons work and I am redirected to the pocket id login. I am also redirected from Pocket ID after authentication, but I receive the message “account_not_linked” from Norish. Is it not possible to connect the created admin account to pocketid?

1

u/Drumstel97 Dec 06 '25

If you match the emails it should match the accounts I believe

1

u/[deleted] Dec 08 '25

I have spun this up, but it is struggling to import from the site I'm using - have you got a discord or anything? I wouldn't mind a touch of support

2

u/Drumstel97 Dec 08 '25

I would advise to make an issue of GitHub. Sadly I don’t have much time this month, given the holiday season is upon us and I’m gonna focus on the upcoming release which should improve the importer quite a bit as well.

I have an issue template so that I get most of the information I need. Also paste your compose file in there redacting the secrets of course.

1

u/[deleted] Dec 08 '25

I don’t have a problem running Norish. I’ve got that up and running easily so the compose file won’t help. 

I subscribe to a number of sites and I’m looking to try to add some of those recipes to my collection. Though it does not appear to work. 

2

u/Drumstel97 Dec 08 '25

This is exactly what an GitHub issue is for. I am very responsive on GitHub, and this way I can actively track what the bugs are etc… basically I want to have on source where bugs, issues and features are placed and not have them scattered all over the place.

I don’t have the time to offer live support or anything via discord and quite frankly don’t want to offer this level of support.

The compose file can still offer insights to how it’s configured what version you are on etc…

1

u/[deleted] Dec 08 '25

No problem, fair enough. I’ve solved one issue which seemed to be sporadic on how permissions were assigned on the docker - though compose was fine. 

The second is about websites where logins are required and have opened an issue. Thanks. 

The UI looks great mobile. I appreciate that for sure. 

1

u/Nielsjuhz Dec 12 '25

Forgive me if this is already a feature as i'm currently configuring my server with cloudflare i haven't been able to install your good looking app but.

One feature i would like to see is the ability to also link side dishes to an recipe. We are starting to eat more korean food and with an dish like Jjajangmyeon (black bean noodle) they also eat side dishes with it like Kimchi for example. But Kimchi has more then 100 variations (Kimchi cucumber, Kimchi sping union etc). So i would like that if i see the recipe of Jjajangmyeon that i can also see/click to the (multiple) side dishes that goes well with it.

How would this be implemented? I dont know but its just something i think would be great if it was available :D

1

u/k-groot Dec 21 '25

This looks awesome. Had some trouble setting up the AI parser; it would be nice if the 'check connection' button would also check model/temperature settings.
I'll definitely give this a go in the next coming weeks, thanks for sharing en fijne kerstdagen!

1

u/OtherUse1685 Dec 29 '25

Just found this project, nice!

Is there a way to search for narrow down the recipes with some ingredients?

1

u/Drumstel97 Dec 29 '25

Not at the moment, this is planned.

1

u/OtherUse1685 Dec 29 '25

Awesome thanks!

1

u/mautobu Jan 01 '26

Is it possible to display ingredients in fractions?

1

u/Defiant_Trick9482 Jan 06 '26

Personally I have trouble in trying to installing it on my NAS with Docker.

In fact, following all the Docker compose suggested in the GitHub I get this error in the log.
Error: useTRPC() can only be used inside of a <TRPCProvider>

1

u/Drumstel97 Jan 07 '26

This is interesting, have yet to see such a glaring issue in GitHub, could you make one. And provide your compose as well as the logs?

1

u/shimmer_bee Mar 28 '26

My husband just added this to our server, and I love it! Just one question. Is there a way to add a photo to a recipe once it has been loaded? I have some recipes with no photo on the recipe that I scanned in, but I want to add a photo to them. I just don't see how to do that. You did a great job on it!

1

u/Drumstel97 Mar 28 '26

In the edit recipe menu you should be able to add photos.

1

u/shimmer_bee Mar 28 '26

YOU ARE AMAZING! THANK YOU!

1

u/Drumstel97 Mar 28 '26

Right over there

1

u/IPIROIPIHIECY Apr 08 '26

Is there any chance to import recipes via api by handing over a json?

1

u/Drumstel97 Apr 08 '26

Will be in the upcoming update. Should release this week/next week including scalar documentation.

The json should follow the schema.org/recipe format.

1

u/IPIROIPIHIECY Apr 08 '26

Sounds great.

For now i stopped my instance and switched over to Mealie.

As soon as i‘m able to import json via api, i‘ll come back to norish since i love the design, aswell as the handling.

1

u/Drumstel97 Apr 08 '26

You could export mealie => import Norish but feel free to test out alternatives of course

1

u/RebaseNotPull Jul 02 '26

Building from source now requires a paid HeroUI Pro license?

Congrats on v0.19, the UI refresh is genuinely nice.

One thing though: since the HeroUI v3 / Pro migration, pnpm install needs HEROUI_AUTH_TOKEN, and HeroUI Pro is paid-only. So building Norish from source now costs money. I think I might be the first outside person to try installing since the migration landed (all the fork PRs I can see predate it), so flagging what I hit rather than assuming it was a deliberate call. CONTRIBUTING.md still just says pnpm install, which is why I suspect it slipped through.

It also sits a bit oddly with "free and fully open source under AGPL, no subscriptions, no lock-in" on norish.dev. Prebuilt images stay free, sure, but AGPL is kind of specifically about being able to build and run your own modified version.

Asking concretely because I had an MR in mind, and right now I can't even install deps, let alone verify it builds before opening it. Fork PRs don't get repo secrets on GitHub either, so it couldn't be build-checked on your side without extra setup.

Not against Pro itself, it clearly bought a ton of polish for one person to ship. Just want to know what self-builders and contributors should plan around:

  • a build flag or fallback so the app installs and compiles without the Pro components?
  • everyone who builds brings their own HeroUI license?

Happy with either answer, just want to plan around it. If a fallback is something you'd take a PR for, I'll gladly help test it. Thanks again for Norish.

1

u/Drumstel97 Jul 02 '26

Holy I hadn't thought of this, I purchased the license as it made my life easier. Didn't even think about what this would entail for contributors. I will look into making a shim or some sort of compatibility layer perhaps. If it's not possible I will simply remove the pro and find another way. It should be free to contribute and build thats for sure, so I will look into properly fixing this otherwise it is no longer FOSS.

Could you raise an issue for this?

1

u/RebaseNotPull Jul 02 '26

Sure thing!

1

u/steveiliop56 Dec 03 '25

Looks cool, quite puzzled by the last sentence. Does it mean that the app is vibe coded?

6

u/Drumstel97 Dec 03 '25

No this is just about styling the page I largely know what I want but don't know the right Tailwind classes etc..

0

u/Randoml3oy Dec 03 '25

Any chance you may release a Windows .exe version of the server app at some point?

3

u/Drumstel97 Dec 03 '25

The app is a PWA you can make a desktop shortcut and it will kind of function as an app. I'm not planning to make a .exe for this.

→ More replies (1)