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"
services:
mealie:
image: hkotel/mealie
container_name: mealie
ports:
- 9090:80
environment:
db_type: sqlite
TZ: America/Denver
volumes:
- /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
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?