Fork me on GitHub

Herr Knedel/Du grand avec les conteneurs : gérer et archiver des recettes sur le diskstation de Synology

Created Sun, 07 Mar 2021 00:00:00 +0000 Modified Sat, 02 Apr 2022 15:03:38 +0000 Niveau de difficulté: À la portée de tous

591 Words

Rassemblez toutes vos recettes préférées dans le conteneur Docker et organisez-les comme vous le souhaitez. Écrivez vos propres recettes ou importez des recettes de sites web, par exemple “Chefkoch”, “Essen”, etc.

Option pour les professionnels

En tant qu’utilisateur expérimenté de Synology, on peut bien sûr se connecter directement avec SSH et installer l’ensemble du setup via un fichier Docker Compose.

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

Étape 1 : Trouver une image Docker

Je clique sur l’onglet “Registre” dans la fenêtre docker de Synology et je recherche “mealie”. Je sélectionne l’image docker “hkotel/mealie:latest” et je clique ensuite sur le tag “latest”.

Après le téléchargement de l’image, celle-ci est disponible sous forme d’image. Docker fait la distinction entre deux états, le conteneur “état dynamique” et l’image/image (état fixe). Avant de créer un conteneur à partir de l’image, il faut encore procéder à quelques réglages.

Étape 2 : Mettre l’image en service :

Je double-clique sur mon image “mealie”.

Ensuite, je clique sur “Paramètres avancés” et j’active le “Redémarrage automatique”. Je sélectionne l’onglet “Volume” et clique sur “Ajouter un dossier”. Là, je crée un nouveau dossier avec ce chemin de montage “/app/data”. J’attribue des ports fixes pour le conteneur “Mealie”. Sans ports fixes, il se pourrait que le “serveur Mealie” tourne sur un autre port après un redémarrage. Pour finir, je saisis encore deux variables d’environnement. La variable “db_type” est le type de base de données et “TZ” le fuseau horaire “Europe/Berlin”. Après ces réglages, le serveur Mealie peut être démarré ! Ensuite, il est possible d’appeler Mealie via l’adresse Ip de la dictée Synology et le port attribué, par exemple http://192.168.21.23:8096 .

Comment fonctionne Mealie ?

Si je passe la souris sur le bouton “plus” à droite/en bas et que je clique ensuite sur le symbole “chaîne”, je peux saisir une url. L’application Mealie recherche alors elle-même les méta-informations et les informations de schéma dont elle a besoin.

L’importation fonctionne très bien (j’ai utilisé ces fonctions avec des urls de Chefkoch, Essen En mode édition, je peux aussi ajouter une catégorie. Il est important que j’appuie une fois sur la touche “Entrée” après chaque catégorie. Sinon, ce paramètre n’est pas pris en compte.

Particularités

J’ai remarqué que les catégories de menu ne s’actualisent pas automatiquement. Il faut y remédier par un rechargement du navigateur.

Autres caractéristiques

Il est bien sûr possible de rechercher des recettes et de créer des menus. En outre, il est possible de personnaliser “Mealie” de manière très étendue.

Mealie est également superbe sur le téléphone portable :

Api résiduelle

Sous “http://gewaehlte-ip:und-port … /docs”, on trouve la documentation de l’API. On y trouve de nombreuses méthodes qui peuvent être utilisées pour une automatisation.

Exemple d’api

Imaginez la fiction suivante : “Gruner und Jahr lance le portail Internet Essen

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

Ensuite, vous nettoyez cette liste et la tirez contre l’api résiduelle, exemple :

#!/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

Désormais, vous pouvez également accéder aux recettes hors ligne :

Conclusion : si l’on consacre un peu de temps à Mealie, on peut construire une super base de données de recettes ! En tant que projet open source, Mealie est constamment développé et peut être consulté à l’adresse suivante : https://github.com/hay-kot/mealie/