Skip to main content

Mealie

·
Docker cooking recipe meal planning Docker Compose self-hosted
Table of Contents

🍽 My Mealie Setup
#

This Mealie setup runs in a Docker container and provides a self-hosted recipe and meal planning application. It includes configurations for backend environment variables, volume mounts, and resource limits.


⚙️ My Configuration Details
#

🌍 Environment Variables
#

VariableDescription
ALLOW_SIGNUP=trueEnables user sign-up
PUID=1000User ID for permission management
PGID=1000Group ID for permission management
TZ=Europe/LondonTimezone configuration
MAX_WORKERS=1Defines the number of worker threads
WEB_CONCURRENCY=1Sets the number of web concurrency workers
BASE_URL=Your DomainBase URL for the web interface
SMTP_HOST=Your SMTP Server hostSMTP host for sending emails
SMTP_PORT=587SMTP server port
SMTP_FROM_NAME=MealieSender name for emails
SMTP_AUTH_STRATEGY=TLSSMTP authentication strategy
SMTP_FROM_EMAIL=Your EmailSender email address
SMTP_USER=Your UsernameSMTP username
SMTP_PASSWORD=Your PasswordSMTP password

📂 Volume Mounts
#

VolumeDescription
~/mealie/config:/app/data/Mounts configuration data for persistence

🔗 Networking
#

Port MappingFunction
9925:9000Mealie web interface for recipe and meal planning

🧰 Resource Limits
#

ResourceLimit
Memory1000M

📜 My Docker Compose Configuration
#

services:
  mealie:
    image: ghcr.io/mealie-recipes/mealie:latest # Mealie latest image
    container_name: mealie # Container name for identification
    restart: always # Always restart the container on failure
    ports:
      - "9925:9000" # Expose port 9000 for the Mealie web interface
    deploy:
      resources:
        limits:
          memory: 1000M # Set memory limit to 1000MB
    volumes:
      - ~/mealie/config:/app/data/ # Mount the configuration directory
    environment:
      # Set Backend ENV Variables Here
      ALLOW_SIGNUP: true
      PUID: 1000
      PGID: 1000
      TZ: Europe/London
      MAX_WORKERS: 1
      WEB_CONCURRENCY: 1
      BASE_URL: Your Domain
      SMTP_HOST: Your SMTP Server host
      SMTP_PORT: 587
      SMTP_FROM_NAME: Mealie
      SMTP_AUTH_STRATEGY: TLS
      SMTP_FROM_EMAIL: Your Email
      SMTP_USER: Your Username
      SMTP_PASSWORD: Your Password

🔐 Using Docker Secrets for Environment Variables
#

You can set any environment variable from a file by using a special prepend FILE__.

For example:

 FILE__MYVAR=/run/secrets/mysecretvariable