Home > Software > Simplifying Meal Prep with Docker: Mealie Docker Compose

Simplifying Meal Prep with Docker: Mealie Docker Compose

Anastasios Antoniadis

Discover how to deploy Mealie, a self-hosted meal planning app, using Docker Compose with our easy-to-follow guide and example Docker Compose file. Streamline your meal prep and grocery shopping today.

Docker (1)

Mealie is a popular self-hosted application used for streamlining meal planning, recipes, and grocery lists in the home automation and smart kitchen management domain. As it utilizes Docker, Mealie is an ideal solution for tech-savvy food enthusiasts who want to simplify deployment and management. In this article, we will provide an in-depth guide to setting up Mealie using Docker Compose. We will also offer a practical example of a Docker Compose file specifically tailored for Mealie, along with a step-by-step guide to help you get started.

What is Mealie?

Mealie is a web application that allows users to create, manage, and share recipes, plan meals for any period, and generate shopping lists based on their meal plans. It’s designed to make the process of cooking and grocery shopping more organized and efficient.

Why Docker Compose?

Docker Compose is a tool for defining and running multi-container Docker applications. With a single command, you can configure and start all the services defined in a docker-compose.yml file. For Mealie, Docker Compose can configure the Mealie container along with any other services it might need, such as a database, in a simple and reproducible manner.

Example Mealie Docker Compose File

Below is an example docker-compose.yml file designed to deploy Mealie using Docker Compose. This configuration sets up Mealie with the necessary environment variables and persists data using Docker volumes.

version: '3.1'

services:
  mealie:
    image: ghcr.io/hay-kot/mealie:latest
    container_name: mealie
    environment:
      TZ: "Your_Timezone" # e.g., America/New_York
      DB_ENGINE: sqlite # Use sqlite for a simple setup
      API_PORT: 9000 # Default API port
    volumes:
      - mealie_data:/app/data
    ports:
      - "9925:80" # Map port 9925 on the host to port 80 in the container
    restart: unless-stopped

volumes:
  mealie_data:

Step-by-Step Setup Guide

  1. Install Docker and Docker Compose: Ensure Docker and Docker Compose are installed on your system. Docker Compose comes included with Docker Desktop for Windows and Mac. For Linux, you might need to install Docker Compose separately.
  2. Prepare Docker Compose File: Create a file named docker-compose.yml in your desired directory and copy the example configuration into it.
  3. Customize Configuration: Adjust the TZ (timezone) environment variable to match your local timezone. You can also customize the port mapping if needed. The example maps port 9925 on the host to port 80 in the container, but you can change the host port as required.
  4. Deploy Mealie: Navigate to the directory containing your docker-compose.yml file in a terminal or command prompt. Run docker-compose up -d to start Mealie in detached mode. Docker Compose will pull the necessary images and start the Mealie container.
  5. Access Mealie: Once the container is running, open a web browser and navigate to http://localhost:9925 (or whichever host port you configured) to access the Mealie interface.
  6. Persistence: The mealie_data volume ensures that your Mealie data is persisted across container restarts and updates. This volume stores recipes, images, and database information.

Conclusion

Setting up Mealie with Docker Compose offers a streamlined, efficient approach to meal planning and recipe management. The example docker-compose.yml file provided here is a starting point for deploying Mealie in your own environment. By customizing and extending this configuration, you can harness the full power of Docker to make Mealie an integral part of your smart kitchen setup. Whether you’re a home cook looking to organize your culinary endeavors or a tech enthusiast eager to automate meal planning, Mealie and Docker Compose provide a flexible, powerful solution.

Anastasios Antoniadis
Follow me
Latest posts by Anastasios Antoniadis (see all)
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x