Install Mealie on Docker

by RamWise
Published: Last Updated on 3.1K views

Mealie is a self-hosted recipe manager website built for the Docker platform. You can quickly create recipes or add from other websites easily. We will install a Mealie as a Docker container and add an existing recipe from an external website to our planner in this tutorial.

Currently, it is an alpha release but it is very much functional, kudos to the developer. The developer asks to use SQLite as a backend since MongoDB support will be dropped in future releases.

Installing Mealie Docker container

Make sure you have installed Portainer & Docker before proceeding. We will add a docker stack of Mealie container via Portainer web UI.

1. On Portainer, add a new stack with name Mealie. Leave the Build method as Web Editor.

2. Copy the below compose file content into the Web editor. Do not deploy the stack yet, I’ll explain what some of the important configurations do in the following steps. You can customize them if needed.

version: "2"
    image: hkotel/mealie
    container_name: mealie
      - 9090:80
      db_type: sqlite
      TZ: America/Denver
      - /opt/container/mealie/data/:/app/data
    restart: unless-stopped

3. The default Container port  is 80, and it can be mapped onto a different host port. Here I set that to 9090 on the host. 

4. Now set the Time-Zone for the container in the next line.

5. Next, add a location for storing the container data. To do that, map the /app/data container folder to a host folder of your choice.

6. Deploy Stack once everything above is done, portainer will install the container and start it.

7.  After it starts, go to http://localhost:9090 on your browser. It will go to an empty page of Mealie.

8. To create your first recipe or import from an external website like this, click ‘+’ at the bottom right corner.

Hurray! Now you can manage your recipes and meal plans on this website easily.

1 comment

Roy January 5, 2022 - 8:23 am

The installation self is going fine. But when I’m opening mealie I can’t do anything because it’s asking me for a login. What credentials are needed? Is it possible to pass these along in the docker compose?


Leave a Comment

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More