Fork me on GitHub

Herr Knedel/Страхотни неща с контейнери: управление и архивиране на рецепти в Synology DiskStation

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

526 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: Въведете изображението в действие:

Кликвам два пъти върху моето изображение “mealie”.

След това щракнах върху “Разширени настройки” и активирах “Автоматично рестартиране”. Избирам раздела “Том” и щраквам върху “Добавяне на папка”. Там създавам нова папка с този път за монтиране “/app/data”. Присвоявам фиксирани портове за контейнера “Mealie”. При липса на фиксирани портове може да се окаже, че “сървърът на Mealie” работи на друг порт след рестартиране. Накрая въвеждам две променливи на средата. Променливата “db_type” е типът на базата данни, а “TZ” е часовата зона “Europe/Berlin”. След тези настройки сървърът Mealie може да бъде стартиран! След това можете да се обадите на 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

След това изчистете този списък и го изпратете към интерфейса за почивка, например:

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