Fork me on GitHub

Herr Knedel/Großartiges mit Containern: Rezepte auf der Synology-Diskstation verwalten und archivieren

Created Sun, 07 Mar 2021 00:00:00 +0000 Modified Mon, 14 Mar 2022 18:18:36 +0000 Schwierigkeitsgrad: Für jeden machbar

557 Words

Sammeln Sie alle Ihre Lieblingsrezepte im Docker-Container und organisieren Sie diese nach Ihren Wünschen. Schreiben Sie eigene Rezepte oder Importieren Sie Rezepte von Websites, zum Beispiel „Chefkoch“, „Essen & Trinken“ oder „BBC-FOOD“. Ich zeige Ihnen, wie Sie das Docker-Image „Mealie“ zum Laufen bringen.

Option für Profis

Als erfahrener Synology-Nutzer kann man sich natürlich gleich mit SSH einloggen und das ganze Setup via Docker-Compose-Datei installieren.

version: "2.0"
services:
  mealie:
    container_name: mealie
    image: hkotel/mealie:latest
    restart: always
    ports:
      - 9000:80
    environment:
      db_type: sqlite
      TZ: Europa/Berlin
    volumes:
      - ./mealie/data/:/app/data

Schritt 1: Docker-Image suchen

Ich klicke im Synology-Docker-Fenster auf den Reiter „Registrierung“ und suche nach „mealie“. Ich wähle das Docker-Image „hkotel/mealie:latest“ und klick anschließend auf den Tag „latest“.

Nach dem Image – Download liegt das Image als Abbild bereit. Docker unterscheide zwischen 2 Zuständen, Container „Dynamisch zustand“ und Image/Abbild (Festzustand). Bevor wir nun einen Container aus dem Abbild erzeugen, müssen noch ein paar Einstellungen getätigt werden.

Schritt 2: Image/Abbild in Betrieb nehmen:

Ich klicke per Doppelklick auf mein „mealie“-Abbild.

Danach klicke ich auf „Erweiterte Einstellungen“ und aktiviere den „Automatischen Neustart". Ich wähle den Reiter „Volumen“ und klicke auf „Ordner hinzufügen“. Dort erstelle ich einen neuen Ordner mit diesem Mount-Pfad „/app/data“.

Ich vergebe feste Ports für den „Mealie“ – Container. Ohne feste Ports könnte es sein, dass der „Mealie-Server“ nach einem Neustart auf einen anderen Port läuft.

Zum Schluss trage ich noch zwei Umgebungsvariablen ein. Die Variable „db_type“ ist der Datenbanktyp und „TZ“ die Zeitzone „Europe/Berlin“.

Nach diesen Einstellungen kann Mealie-Server gestartet werden! Danach kann man Mealie über die Ip-Adresse der Synology-Disktation und den vergebenen Port aufrufen, zum Beispiel http://192.168.21.23:8096 .

Wie funktioniert Mealie?

Wenn ich mit der Mouse über den „Plus“-Button rechts/unten fahre und danach auf das „Ketten“-Symbol klicke, kann ich eine Url eingeben. Die Mealie -Applikation sucht sich dann selbständig die benötigten Meta- und Schema- Information raus.

Der Import funktioniert großartig (ich habe diese Funktionen mit Urls von Chefkoch, Essen & Trinken und BBC-Food getestet). Anschließend kann das Rezept nachbearbeitet werden.

Im Bearbeitungs-Modus kann ich auch eine Kategorie hinzufügen. Wichtig ist, dass ich nach jeder Kategorie einmal die „Enter“-Taste drücke. Sonst wird diese Einstellung nicht übernommen.

Besonderheiten

Mir ist aufgefallen, dass sich die Menü-Kategorien nicht automatisch aktualisieren. Hier muss man mit einem Browser-Reload nachhelfen.

Sonstige Features

Natürlich kann man Rezepte suchen und auch Speisepläne erstellen. Außerdem kann man „Mealie“ sehr umfangreich anpassen.

Auch auf dem Handy sieht Mealie großartig aus:

Rest-Api

Unter „http://gewaehlte-ip:und-port … /docs“ ist die API-Dokumentation zu finden. Hier findet man viele Methode, die sich für eine Automatisierung nutzen lassen.

Api-Beispiel

Stellen Sie sich die folgende Fiktion vor: „Gruner und Jahr stellt das Internetportal Essen&Trinken ein“! Sichern Sie sich noch schnell alle Rezepte via Bash-Script. Als erstes muss, eine Liste aller Rezept-Urls erstellt werden, Beispiel:

x
+
Terminal

$ wget --spider --force-html -r -l12 "https://www.essen-und-trinken.de/rezepte/archiv/" 2>&1 | grep '/rezepte/' | grep '^--' | awk '{ print $3 }' > liste.txt

Anschließend bereinigen Sie diese Liste und feuern diese gegen die Rest-Api, Beispiel:

#!/bin/bash
sort -u liste.txt > clear.txt

while read p; do
  echo "import url: $p"
  curl -d "{\"url\":\"$p\"}" -H "Content-Type: application/json" http://synology-ip:8096/api/recipes/create-url
  sleep 1
done < clear.txt

Nun können Sie die Rezepte auch offline erreichen:

Fazit: Wenn man etwas Zeit in Mealie steckt, dann kann man eine tolle Rezept-Datenbank bauen! Mealie wird als open source Projekt ständig weiterentwickelt und ist unter der folgenden Adresse zu finden https://github.com/hay-kot/mealie/