Fork me on GitHub

Herr Knedel/Великі можливості з контейнерами: керуйте та архівуйте рецепти на Synology DiskStation

Created Sun, 07 Mar 2021 00:00:00 +0000 Modified Sat, 01 Oct 2022 10:59:12 +0000 Schwierigkeitsgrad: Für jeden machbar

472 Words

Зберіть всі свої улюблені рецепти в контейнері Docker і організуйте їх на свій розсуд. Пишіть власні рецепти або імпортуйте рецепти з сайтів, наприклад, “Chefkoch”, “Essen

Варіант для професіоналів

Як досвідчений користувач Synology, ви, звичайно, можете увійти в систему за допомогою SSH і встановити всю установку за допомогою файлу 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

Крок 1: Пошук образу Docker

У вікні Synology Docker переходжу на вкладку “Реєстрація” і шукаю “mealie”. Вибираю Docker-образ “hkotel/mealie:latest” і натискаю на тег “latest”.

Після завантаження зображення воно буде доступне у вигляді зображення. Docker розрізняє 2 стани, контейнер “динамічний стан” та образ/зображення (фіксований стан). Перш ніж ми зможемо створити контейнер із зображення, необхідно виконати декілька налаштувань.

Крок 2: Введення образу в експлуатацію:

Я двічі клацаю на своєму зображенні “мейлі”.

Потім натискаю на “Додаткові налаштування” і активую “Автоматичний перезапуск”. Обираю вкладку “Обсяг” і натискаю на кнопку “Додати папку”. Там створюю нову папку з таким шляхом монтування “/app/data”. Призначаю фіксовані порти для контейнера “Mealie”. Без фіксованих портів може статися так, що після перезапуску “Mealie server” працюватиме на іншому порту. Нарешті, я вводжу дві змінні середовища. Змінна “db_type” - тип бази даних, а “TZ” - часовий пояс “Europe/Berlin”. Після цих налаштувань Mealie Server можна запускати! Після цього можна викликати Mealie через Ip-адресу диска Synology і призначений порт, наприклад http://192.168.21.23:8096 .

Як працює Mealie?

Якщо я наведу мишку на кнопку “плюс” праворуч/внизу, а потім натисну на символ “ланцюжок”, я зможу ввести URL-адресу. Потім додаток Mealie автоматично шукає необхідну мета- та схематичну інформацію.

Імпорт працює відмінно (я використовував ці функції з урлами з Chef, Food У режимі редагування я також можу додати категорію. Важливо, що після кожної категорії я натискаю клавішу “Enter” один раз. В іншому випадку це налаштування не застосовується.

Особливі риси

Помітив, що категорії меню не оновлюються автоматично. Тут потрібно допомогти перезавантаженням браузера.

Інші особливості

Звичайно, можна шукати рецепти, а також створювати меню. Крім того, ви можете налаштувати “Mealie” дуже широко.

Mealie також чудово виглядає на мобільному телефоні:

Rest-Api

З документацією API можна ознайомитися за посиланням “http://gewaehlte-ip:und-port … /docs”. Тут ви знайдете багато методів, які можна використовувати для автоматизації.

Приклад Api

Уявіть собі таку фантастику: “Gruner und Jahr запускає інтернет-портал 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

Потім почистити цей список і запустити його проти решти api, наприклад:

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

Тепер до рецептів можна отримати доступ і в режимі офлайн:

Висновок: Якщо ви витратите трохи часу на Mealie, ви можете створити чудову базу даних рецептів! Mealie постійно розвивається як проект з відкритим вихідним кодом і знаходиться за наступною адресою: https://github.com/hay-kot/mealie/