5 votes

Does anyone use self-hosted recipe server/software like Mealie?

Hello,

I'm into self-hosting and when my daughter (elementary school) started writing her own recipe book, I kinda went "She is young, she shouldn't be doing this in paper form" and I started looking around for a solution for kinda non-existing problem.

I stumbled upon Mealie, which is server that can be used in docker and is self-hosted recipe book/website. It seems like you can come in and say like "I have these ingrediants, what can I do?", it also seems to be able to generate shopping lists based on your selected recipe, you can use checkboxes when bringing all the ingredients on the kitchen board/table/top (non-English native speaker here) and so on.

It seems like the right software for me, but before I delve into it, I wanted to ask if someone else possibly runs such service for themselves at their home. Is there somebody who is using something like this? It doesn't have to be Mealie, specifically. But it should be server-side service, not some smartphone app. I know there are other such services, which are also open-source, but I forgot the names, sorry.

Thanks for any relevant answers!

16 comments

  1. [7]
    goose
    Link
    I've been using Mealie for a number of years now. Not to my knowledge, but I also haven't explored that kind of functionality, perhaps it can be achieved with additional settings/configuration....

    I've been using Mealie for a number of years now.

    It seems like you can come in and say like "I have these ingrediants, what can I do?"

    Not to my knowledge, but I also haven't explored that kind of functionality, perhaps it can be achieved with additional settings/configuration.

    it also seems to be able to generate shopping lists based on your selected recipe, you can use checkboxes when bringing all the ingredients on the kitchen board/table/top

    Yes, this is one of its very useful features.

    My primary use for Mealie is:

    1. A recipe archive, websites change or go down over time, by scraping my recipes to Mealie I have a copy of them locally
    2. "Trimming the fat" -- I don't care for the life back story about how a recipe reminds the author of a summer they spent in Boston 18 years ago, I just want the recipe and the steps. Scraping the recipe to Mealie achieves that.
    3. The Meal Planner, self explanatory

    I love it. I use it with postgres so I can get "fuzzy search" results, would recommend. It's pretty easy to get up and running, but I'd be happy to help if I can!

    3 votes
    1. [2]
      sum4
      Link Parent
      I've always wanted to spin it up and I think I will this weekend! Just using a big list of bookmarks in Docmost at the moment.

      I've always wanted to spin it up and I think I will this weekend!

      Just using a big list of bookmarks in Docmost at the moment.

      2 votes
      1. goose
        Link Parent
        I also have a big list, but GitHub stars. Although I do love DocMost, it's a fantastic wiki.

        I also have a big list, but GitHub stars. Although I do love DocMost, it's a fantastic wiki.

    2. [4]
      Pavouk106
      Link Parent
      Thank you for your reply. It is the best of what I could get - someone using it. I have technical question: When I use docker for it to run, how do I set up postgres? Do J have to set it up myself...

      Thank you for your reply. It is the best of what I could get - someone using it.

      I have technical question: When I use docker for it to run, how do I set up postgres? Do J have to set it up myself or is it part of docker container or do I have to choose when first starting it up? I would love to use this option.

      And just to add to the first thing you quoted: According to @shiruken, you can search recipe based on what ingredients you have at hand (in case you haven't looked at other replies).

      Once again, thank you for your reply!

      1 vote
      1. [3]
        goose
        Link Parent
        Postgres is a separate container, it's a database backend. To give you a quick explanation of DB backends (that a technical someone will probably hate, but I'm trying to keep it simple): SQLite is...

        Postgres is a separate container, it's a database backend. To give you a quick explanation of DB backends (that a technical someone will probably hate, but I'm trying to keep it simple):

        • SQLite is a file. It's like a notebook. A single file stored directly on your device that is incredibly fast for one person to jot things down. It is the perfect, zero-setup choice for mobile apps or small prototypes, but just like a real notebook, it breaks down if hundreds of people try to write in it at the exact same time.
        • PostgreSQL is more like a fully automated, industrial-scale mega-warehouse of databases, built to enforce strict rules and process deeply complex requests without a single error. It is the ultimate choice for massive enterprise apps or financial systems, but because it requires so much power and setup, using it for a simple project is like hiring a logistics company to deliver a single pizza.

        By default, Mealie uses sqlite, which requires no additional setup. It's just a DB file that lives inside the container (or rather/ideally, on the file system where you have a volume or bind mount set up). Postgres is a separate service (therefore separate container) that your Mealie will need to "talk to".

        So you'll want to:

        1. Spin up a PostgreSQL container
        2. Add a user for mealie (e.g. mealie-user)
        3. Create a DB for mealie (e.g. mealie-db), and grant mealie-user permissions for mealie-db

        For context, here's the snippets of my docker-compose.yaml referencing my Mealie and Postgres:

        networks:
          default:
            enable_ipv6: true
            ipam:
              config:
                - subnet: 172.18.0.0/16
                - subnet: fd00:1::/80
        
        services:
          postgresql:
            image: postgres:18
            hostname: postgresql
            container_name: postgresql
            environment:
              TZ: "America/New_York"
            volumes:
              - "/etc/timezone:/etc/timezone:ro"
              - "/etc/localtime:/etc/localtime:ro"
              - "/docker/config/postgresql:/var/lib/postgresql"
              - "/docker/config/postgresql/socket:/var/run/postgresql"
            restart: "unless-stopped"
            command: postgres -c log_line_prefix='%m [%p] %q[%u@%d] %h:%p '
            healthcheck:
              test: ["CMD", "pg_isready", "-U", "postgres"]
              interval: 10s
              timeout: 5s
              retries: 5
            logging:
              driver: json-file
              options:
                max-file: "1"
                max-size: "10M"
        
          mealie:
            container_name: mealie
            hostname: mealie
            image: ghcr.io/mealie-recipes/mealie:latest
            depends_on:
              nginx:
                condition: service_healthy
              postgresql:
                condition: service_healthy
            deploy:
              resources:
                limits:
                  memory: 1000M
            volumes:
              - "/docker/config/mealie:/app/data/"
            environment:
              PUID: "1003"
              PGID: "998"
              TOKEN_TIME: "8760"
              TZ: "America/New_York"
              WEB_CONCURRENCY: "2"
              BASE_URL: "https://[redacted]"
              DB_ENGINE: "postgres"
              POSTGRES_USER: "mealie"
              POSTGRES_PASSWORD: "[redacted]"
              POSTGRES_SERVER: "postgresql"
              POSTGRES_DB: "mealie"
              POSTGRES_PORT: "5432"
              SMTP_HOST: "smtp.fastmail.com"
              SMTP_PORT: "587"
              SMTP_FROM_NAME: "Mealie"
              SMTP_AUTH_STRATEGY: "TLS"
              SMTP_FROM_EMAIL: "[redacted]"
              SMTP_USER: "[redacted]"
              SMTP_PASSWORD: "[redacted]"
            restart: "unless-stopped"
            logging:
              driver: json-file
              options:
                max-file: "1"
                max-size: "10M"
        
        1 vote
        1. [2]
          Pavouk106
          Link Parent
          I know differences between SQLite and Postgres, I just didn't want to spin up my own database. I'd rather have it all inside one docker container. In the meantime I went on Mealie website and...

          I know differences between SQLite and Postgres, I just didn't want to spin up my own database. I'd rather have it all inside one docker container.

          In the meantime I went on Mealie website and started going through the docs and it seems they have it all-in-one now and you just select which way you want to go (Postgres here). If I understand that correctly, this will start Postgres and Mealie containers at once and all the work will likely be done automatically. I will try and start it up in upcoming hours, as I still have something else to do.

          Thank you for your reply. I will come back to it if the process isn't as automatic as I hope.

          1 vote
          1. goose
            Link Parent
            It looks like their docs walk you through spinning up your own postgres. So it's still not all-in-one, but they help simplify the setup! Happy to help if I can, happy meal-ing!

            It looks like their docs walk you through spinning up your own postgres. So it's still not all-in-one, but they help simplify the setup!

            Happy to help if I can, happy meal-ing!

            1 vote
  2. [2]
    shiruken
    Link
    Confirming that you can indeed do this with the Recipe Finder feature. You can specify any ingredients (or tools) and it surfaces an "Almost Ready to Make" recipe list based on what you've selected.

    It seems like you can come in and say like "I have these ingrediants, what can I do?"

    Confirming that you can indeed do this with the Recipe Finder feature. You can specify any ingredients (or tools) and it surfaces an "Almost Ready to Make" recipe list based on what you've selected.

    2 votes
    1. Pavouk106
      Link Parent
      Thank you for confirming that!

      Thank you for confirming that!

  3. [4]
    joshbuddy
    Link
    I've been using a LaTex project to maintain recipe book. It's nice because I can print it off in a three-ring binder. Happy to share it as a template if that route is interesting to you. With an...

    I've been using a LaTex project to maintain recipe book. It's nice because I can print it off in a three-ring binder. Happy to share it as a template if that route is interesting to you. With an LLM its very easy to maintain now and doesn't require more than a git repo from a hosting perspective.

    1 vote
    1. [3]
      Pavouk106
      Link Parent
      Thank you for the reply. It isn't for me though, I want to use it in the family, so ease of use is of utmost importance, this is why I'm going the server route and others will just use it, not...

      Thank you for the reply. It isn't for me though, I want to use it in the family, so ease of use is of utmost importance, this is why I'm going the server route and others will just use it, not manage it.

      Your reply might come handy to some more technical people out there though, so thanks for replying!

      1. [2]
        joshbuddy
        Link Parent
        Well, fwiw, now I basically just feed it a URL from a recipe I like, and it translates it to LaTex in a second. Or I've been able to take a photo of a recipe from my phone and do the same thing....

        Well, fwiw, now I basically just feed it a URL from a recipe I like, and it translates it to LaTex in a second. Or I've been able to take a photo of a recipe from my phone and do the same thing. But I understand if that's too much effort.

        The sad truth of recipe solutions is its hard to overcome the convenience of paper and pen. Web interfaces always feel a bit clunky for this, but hey if you can make it work, well done!

        1 vote
        1. Pavouk106
          Link Parent
          The thing is there are some recipes I always go find on the web everytime I want to cook them. And to save the hassle of finding the exact same one each time, I will spin up my own personal...

          The thing is there are some recipes I always go find on the web everytime I want to cook them. And to save the hassle of finding the exact same one each time, I will spin up my own personal solution and build up the recipes I use myself.

          And then there are those 200+ recipes my wife has in paper form...

  4. [2]
    ShroudedScribe
    Link
    I run Mealie, but an older version of it for now. My only word of warning about it is that the author/maintainer has introduced multiple breaking changes in updates in the past. So don't just...

    I run Mealie, but an older version of it for now. My only word of warning about it is that the author/maintainer has introduced multiple breaking changes in updates in the past. So don't just auto-update or blindly update your image version, be sure to read the changelog.

    Other than that I do like it a lot, it's a great recipe book that translates ingredients effectively into a shopping list.

    1 vote
    1. Pavouk106
      Link Parent
      Thank you for the warning! It will come in useful, I'm sure. I would like to make our recipes digital and on top of that, why not run a service like Mealie when I have to write them all down...

      Thank you for the warning! It will come in useful, I'm sure.

      I would like to make our recipes digital and on top of that, why not run a service like Mealie when I have to write them all down anyway. It could have photos attached, easy sharing (even with "outside" world), easy editting, easy search... And the shopping list and "what can I do with these ingredients" is just the topping on the cake.

  5. Zorind
    Link
    This is the opposite of an answer to your question, but if you don't want an additional thing to self host, there's also some decent options. I use mela, primarily because it supports iCloud...

    This is the opposite of an answer to your question, but if you don't want an additional thing to self host, there's also some decent options.

    I use mela, primarily because it supports iCloud syncing, grocery list export to the "Reminders" app, and I can also export all of the recipes to pdf, html, or markdown (which I've used to share recipes here in the past). Its internal files are just custom JSON, so they'd be easy enough to export/import as well. It cost $6.99 which seemed fair to support the developer.

    I think mealie can likely do all of that too (in fact, I have thought about switching, but I don't have anything else I'm self hosting yet...so I haven't made the plunge).

    1 vote