selfhosted-apps-docker/mealie
DoTheEvo 504ba3ddce update 2023-03-13 00:46:50 +01:00
..
readme.md update 2023-03-13 00:46:50 +01:00

readme.md

Mealie in docker

guide-by-example

logo

Purpose & Overview

Recipe cookbook.

Mealie is a simple, open source, self hosted cookbook.
Written in python and javascript, using Vue framework for frontend. It stores recipies in plain json as well as sqlite database.

Files and directory structure

/home/
└── ~/
    └── docker/
        └── bookstack/
            ├── 🗁 mealie_data/
            ├── 🗋 .env
            └── 🗋 docker-compose.yml
  • mealie_data/ - a directory with persistent data and backups
  • .env - a file containing environment variables for docker compose
  • docker-compose.yml - a docker compose file, telling docker how to run the containers

Only the files are required. The directory is created on the first run.

docker-compose

The official documentation compose example here.

docker-compose.yml

services:

  mealie:
    image: hkotel/mealie
    container_name: mealie
    hostname: mealie
    restart: unless-stopped
    env_file: .env
    expose:
      - "80"
    volumes:
      - ./mealie_data/:/app/data

networks:
  default:
    name: $DOCKER_MY_NETWORK
    external: true

.env

# GENERAL
DOCKER_MY_NETWORK=caddy_net
TZ=Europe/Bratislava

# MEALIE
PUID=1000
PGID=1000
RECIPE_PUBLIC=true
RECIPE_SHOW_NUTRITION=true
RECIPE_SHOW_ASSETS=true
RECIPE_LANDSCAPE_VIEW=true
RECIPE_DISABLE_COMMENTS=false
RECIPE_DISABLE_AMOUNT=false

All containers must be on the same network.
Which is named in the .env file.
If one does not exist yet: docker network create caddy_net

Reverse proxy

Caddy v2 is used, details here.

Caddyfile

book.{$MY_DOMAIN} {
    reverse_proxy mealie:80
}

First run

Default login: changeme@email.com // MyPassword


interface-pic

New version incomig

There is a new version in work, v1.0.0 is already in beta5, but it seems a major changes are introduced and theres not yet feature to share recipies with people without password.

Update

Manual image update:

  • docker-compose pull
  • docker-compose up -d
  • docker image prune

It is strongly recommended to now add current tags to the images in the compose.
Tags will allow you to easily return to a working state if an update goes wrong.

Backup and restore

Backup

Using kopia or borg to make daily snapshot of the entire docker directory.

Restore

  • down the containers docker-compose down
  • delete/move/rename the entire project directory
  • from the backups copy back the entire project directory
  • start the containers docker-compose up -d