In diesem Blogartikel zeige ich dir, wie du die Rezeptverwaltungssoftware Mealie als Docker-Container auf deiner Synology Diskstation mit Hilfe von Portainer installierst. Mit Mealie kannst du deine Lieblingsrezepte digital verwalten und beispielsweise Rezepte in der Küche praktisch auf dem Smartphone oder Tablet anzeigen lassen, die Portionsmengen neu berechnen lassen und Zutaten auf deine digitale Einkaufsliste hinzufügen. Im Folgenden wird Schritt für Schritt erklärt, wie man den Docker-Container auf dem NAS aufsetzt und die ersten Grundeinstellungen in Mealie vornimmt.
Werbung
Werbung
Wahl der Datenbank
Man kann Mealie entweder mit einer SQLite- oder einer PostgreSQL-Datenbank betreiben. Die Einrichtung mit SQLite ist einfacher und wird in folgender Anleitung verwendet. Sollte man eine sehr performante Instanz von Mealie mit vielen Nutzer*innen betreiben wollen, kann sich alternativ eine Installation mit Postgres lohnen.
Wenn man nach einiger Zeit feststellt, dass man doch lieber PostgreSQL nutzen möchte, kann man dies auch noch nachträglich einrichten, indem man ein Backup aller Mealie-Daten erstellt, die Docker-compose-Datei auf PostgreSQL anpasst, den Docker-Stack neu deployt und anschließend das Backup wieder in die neue Instanz einspielt.
Voraussetzungen
- Portainer ist installiert: siehe unsere Anleitung zu Portainer als Docker-Container auf der Synology Diskstation installieren
- Wildcard-Zertifikat ist eingerichtet: siehe unseren Artikel Subdomains über HTTPS auf der Diskstation verwenden: Wildcard-Zertifikat anlegen (*.name.synology.me)
Ordner anlegen (bind mount)
Wir benötigen auf der Festplatte der Diskstation (also auf unserem Hostsystem) einen Ordner, in dem Mealie seine Dateien und Daten ablegen kann. Durch die Verzeichnisbindung (bind mount) wird dieser Ordner direkt in den Docker-Container eingebunden. So können sowohl das Hostsystem, als auch der Mealie-Docker darauf zugreifen. Einen Ordner für ein solches „bind mount“ legen wir jetzt für unseren Docker-Container an.
Gehe auf deinem Synology NAS in die Weboberfläche (DSM). Öffne die File Station und lege im Order „docker“ einen Unterordner „mealie“ an. In meinem Beispiel lautet also der komplette Pfad: /volume1/docker/mealie


Reverse Proxy-Regel einrichten
Lege auf deiner Diskstation eine Reverse Proxy-Regel für Mealie an. Wie das genau geht, kannst du im Artikel Reverse Proxy der Synology DiskStation: Web-Apps sicher per HTTPS aus dem Internet zugänglich machen nachlesen.
Abweichend zur obigen Anleitung trägst du im Schritt „Erstellen einer Reverse Proxy-Regel“ im Tab „Allgemein“ (1) folgendes ein:
- 2) Reverse-Proxy-Name: Mealie
- 3) Quelle – Protokoll: HTTPS
- 4) Quelle – Hostname: mealie.name.synology.me („name“ auf deinen Synology-DDNS-Namen anpassen)
- 5) Quelle – Port: 443
- 6) Quelle – HSTS aktivieren: Haken setzen
- 7) Ziel – Protokoll: HTTP
- 8) Ziel – Hostname: localhost
- 9) Ziel – Port: 33075 (beliebigen freien Port wählen)

Docker-Container über Portainer erstellen
Öffne in deinem Browser die Weboberfläche von Portainer. Klicke dort auf den Button „Live connect“ (1), um dich mit deinem Environment zu verbinden.

Lege jetzt einen neuen Stack an. Klicke dazu im linken Menü auf „Stacks“ (1) und dann oben rechts auf „Add stack“ (2).

Als Name für den Stack kannst du z. B. „mealie“ eingeben (1). Anschließend wählst du „Web editor“ (2) aus, fügst den unten stehenden Code per copy & paste in das große Textfeld (3) ein und modifizierst die markierten Stellen entsprechend der nachfolgenden Anmerkungen.

services:
mealie:
image: ghcr.io/mealie-recipes/mealie:latest
container_name: mealie
restart: always
ports:
- 33075:9000 # enter destination port (Ziel-Port) from the reverse proxy rule in this form: - target_port:9000
deploy:
resources:
limits:
memory: 1000M
volumes:
- /volume1/docker/mealie:/app/data/ # enter folder path of bind mount (Verzeichnisbindung) in this form: - /path/to/folder:/app/data/
environment:
# Set backend ENV variables here
ALLOW_SIGNUP: false
PUID: 1026 # enter the UID of the user who created the folder on the host system for the bind mount
PGID: 100 # enter the GID of the user who created the folder on the host system for the bind mount
TZ: Europe/Berlin # enter your time zone according to the format in the column 'TZ identifier' from this list https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
MAX_WORKERS: 1
WEB_CONCURRENCY: 1
BASE_URL: https://mealie.name.synology.me # enter source hostname (Quelle-Hostname) from the reverse proxy rule
DB_ENGINE: sqlite # This is the default
Quelle: https://docs.mealie.io/documentation/getting-started/installation/sqlite/ [angepasst für Synology Diskstation]Passe das obige Docker-Compose-File entsprechend an:
- Zeile 7: Gib den Ziel-Port aus der Reverse-Proxy-Regel in dieser Form ein:
- ziel_port:9000
Beispiel:- 33075:9000
- Zeile 13: Gib den Ordnerpfad für die Verzeichnisbindung (bind mount) aus Schritt 1 in dieser Form ein:
- /pfad/zum/ordner:/app/data/
Beispiel:- /volume1/docker/mealie:/app/data/
- Zeilen 17 und 18: Gib die UID und GID des Benutzers ein, der diesen Ordner für den Docker-Container auf dem Hostsystem angelegt hat. Wie du die beiden Werte ganz einfach herausfindest, kannst du in dieser Anleitung nachlesen: Werte für UID (UserID) und GID (GroupID) auf Synology Diskstation herausfinden
Beispiel:PUID: 1026
PGID: 100 - Zeile 19: Gib deine Zeitzone an. Wie genau das Format aussehen muss, kannst du dieser Liste in der Spalte „TZ identifier“ entnehmen.
Beispiel:TZ: Europe/Berlin
- Zeile 22: Gib den Quelle-Hostname aus der Reverse-Proxy-Regel ein.
Beispiel:BASE_URL: https://mealie.name.synology.me
Nachdem du alle Anpassungen vorgenommen hast, klicke ganz unten auf „Deploy the stack“ (1).

Wenn alles geklappt hat, erhältst du folgende Erfolgsmeldung und siehst deinen neu angelegten Stack in der Liste:

Mealie Ersteinrichtung
Einrichtungsassistent
Öffne im Browser die in der Reverse Proxy-Regel festgelegte Subdomain für deine Mealie-Instanz – in unserem obigen Beispiel also https://mealie.name.synology.me

Nach der Installation ist bereits ein Nutzer angelegt. Man kann sich mit folgenden Zugangsdaten einloggen:
- Benutzername: changeme@example.com
- Passwort: MyPassword
Wir folgen dem anschließend aufpoppenden Einrichtungsassistenten, um die Zugangsdaten direkt zu ändern und ein paar grundlegende Einstellungen zu tätigen. Hier kannst du die Sprache wählen (1) und anschließend den Assistenzen starten (2).

Im nächsten Bildschirm können wir den Benutzernamen (1), Namen (2), die E-Mail-Adresse (3) und das Passwort (4) des bereits angelegten Benutzers ändern. Gehe nach Eingabe zum nächste Schritt (5).

Es empfiehlt sich sehr, im Abschnitt „Datenverwaltung“ den Haken bei „Musterdaten“ (1) zu setzen. So werden eine Liste von ca. 200 Lebensmitteln und die gängigsten Maßeinheiten von Mealie automatisch angelegt. Klicke anschließend auf „Weiter“ (2).

Den nächsten Bildschirm kannst du dann mit einem Klick auf den Button „Absenden“ bestätigen. Danach kann es ein paar Minuten dauern, bis alles eingerichtet ist. Sobald Mealie bereit ist, erscheint folgender Bildschirm:

Mit einem Klick auf „Startseite“ (1) öffnet sich die Oberfläche von Mealie.
Konfiguration checken
Klicke auf der Mealie-Startseite auf „Einstellungen“ (1), um die Konfiguration auf mögliche Warnungen oder Fehler zu überprüfen.

Hier scheint alles wie erwartet zu sein. Wir haben die optionalen Features LDAP, OIDC und OpenAI nicht eingerichtet, daher ist es korrekt, dass diese als nicht konfiguriert angezeigt werden.

Im Abschnitt „E-Mail“ wird ein Fehler ausgegeben. Das liegt daran, dass wir den E-Mail-Versand per SMTP nicht konfiguriert haben. Auch das ist so beabsichtigt, um die Installation nicht zu verkomplizieren. Beachte, dass Mealie in diesem Konfigurationszustand also keine E-Mails verschicken kann. Das betrifft u. a. Einladungs-E-Mails an neue Benutzer*innen, Passwort-Vergessen-E-Mails oder eventuelle Benachrichtungen. Benötigst du dieses Feature und kommst mit der Einrichtung nicht klar? Dann melde dich in den Kommentaren und ich ergänze den Artikel um einen entsprechenden Abschnitt.
Getrennte Eingabe von Menge und Einheiten aktivieren
Standardmäßig bietet Mealie in Rezepten Freitextfelder für die Eingabe der einzelnen Zutaten:

Schöner ist es, wenn man stattdessen „intelligente“ Zutaten nutzt. So können für die Einkaufslisten-Funktion die selben Zutaten automatisch zusammengerechnet und Rezeptmengen skaliert/hochgerechnet werden (man möchte beispielsweise die doppelte Menge machen und die einzelnen Zutatenmengen entsprechend von Mealie berechnen lassen). Bei der Eingabe eines neuen Rezepts besteht die Eingabemaske dann jeweils aus Menge, Einheit, Lebensmittel und Notiz:

Um dies zu aktivieren, klicke in der oberen linken Ecke auf deinen Benutzernamen (1) und dann ganz unten im Abschnitt „Haushalt“ auf „Haushaltseinstellungen“ (2).

Hier kannst du bei der Gelegenheit auch direkt den Wochenbeginn auf „Montag“ (1) umstellen:

Entferne jetzt ganz unten den Haken bei „Getrennte Eingabe von Menge und Einheiten in der Zutatenliste deaktivieren“ (1) und speichere die Einstellungen anschließend mit Klick auf „Aktualisieren“ (2).

Lebensmittel und Einheiten überprüfen
Klicke in der oberen linken Ecke auf deinen Benutzernamen (1) und dann ganz unten im Abschnitt „Gruppe“ auf „Daten verwalten“ (2).

Klicke auf das orangene Dropdownfeld (1) und wähle „Lebensmittel“ (2) oder „Einheiten“ (3). Dort kannst du die automatisch durch den Einrichtungsassistenten hinzugefügten Lebensmittel und Einheiten einsehen und ggf. abändern oder um eigene ergänzen.

Fazit
Die Installation von Mealie als Docker-Container über Portainer auf einer Synology Diskstation bietet eine effiziente Möglichkeit, Rezepte digital zu verwalten. Mit Mealie erhält man ein vielseitiges Tool, um seine eigene Rezeptesammlung zu strukturieren und jederzeit auf allen Geräten über den Browser abzurufen.
Viel Spaß beim Kochen und Verwalten deiner Rezepte!
Quellen und weitere Infos
- https://github.com/mealie-recipes/mealie
- https://mealie.io/
- https://docs.mealie.io/documentation/getting-started/introduction/
Titelbild erstellt mit Unterstützung von Microsoft Copilot
Schreibe einen Kommentar