From 4d3bd7a46cfd23beceb39ea03e6659219eeb10cb Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sat, 14 Jan 2023 16:00:28 +0100 Subject: [PATCH] Remove mealie dual addons --- mealie_api/CHANGELOG.md | 7 -- mealie_api/Dockerfile | 109 ----------------------------- mealie_api/README.md | 5 -- mealie_api/apparmor.txt | 58 ---------------- mealie_api/build.json | 9 --- mealie_api/config.json | 45 ------------ mealie_api/icon.png | Bin 11835 -> 0 bytes mealie_api/logo.png | Bin 11835 -> 0 bytes mealie_api/rootfs/run.txt | 121 --------------------------------- mealie_api/updater.json | 10 --- mealie_frontend/CHANGELOG.md | 7 -- mealie_frontend/Dockerfile | 109 ----------------------------- mealie_frontend/README.md | 5 -- mealie_frontend/apparmor.txt | 58 ---------------- mealie_frontend/build.json | 9 --- mealie_frontend/config.json | 43 ------------ mealie_frontend/icon.png | Bin 3628 -> 0 bytes mealie_frontend/logo.png | Bin 3628 -> 0 bytes mealie_frontend/rootfs/run.txt | 121 --------------------------------- mealie_frontend/updater.json | 10 --- 20 files changed, 726 deletions(-) delete mode 100644 mealie_api/CHANGELOG.md delete mode 100644 mealie_api/Dockerfile delete mode 100644 mealie_api/README.md delete mode 100644 mealie_api/apparmor.txt delete mode 100644 mealie_api/build.json delete mode 100644 mealie_api/config.json delete mode 100644 mealie_api/icon.png delete mode 100644 mealie_api/logo.png delete mode 100644 mealie_api/rootfs/run.txt delete mode 100644 mealie_api/updater.json delete mode 100644 mealie_frontend/CHANGELOG.md delete mode 100644 mealie_frontend/Dockerfile delete mode 100644 mealie_frontend/README.md delete mode 100644 mealie_frontend/apparmor.txt delete mode 100644 mealie_frontend/build.json delete mode 100644 mealie_frontend/config.json delete mode 100644 mealie_frontend/icon.png delete mode 100644 mealie_frontend/logo.png delete mode 100644 mealie_frontend/rootfs/run.txt delete mode 100644 mealie_frontend/updater.json diff --git a/mealie_api/CHANGELOG.md b/mealie_api/CHANGELOG.md deleted file mode 100644 index b9129847e..000000000 --- a/mealie_api/CHANGELOG.md +++ /dev/null @@ -1,7 +0,0 @@ - -## v1.0.0-beta-1 (25-12-2022) -- Update to latest version from hay-kot/mealie - -## 1.0.0 (25-12-2022) -- Update to latest version from hay-kot/mealie -- New addon diff --git a/mealie_api/Dockerfile b/mealie_api/Dockerfile deleted file mode 100644 index 41de7a3b0..000000000 --- a/mealie_api/Dockerfile +++ /dev/null @@ -1,109 +0,0 @@ -#============================# -# ALEXBELGIUM'S DOCKERFILE # -#============================# -# _.------. -# _.-` ('>.-`"""-. -# '.--'` _'` _ .--.) -# -' '-.-';` ` -# ' - _.' ``'--. -# '---` .-'""` -# /` -#=== Home Assistant Addon ===# - -################# -# 1 Build Image # -################# - -ARG BUILD_FROM -ARG BUILD_VERSION -ARG BUILD_UPSTREAM="v1.0.0beta-5" -FROM ${BUILD_FROM}${BUILD_UPSTREAM} - -################## -# 2 Modify Image # -################## - -# Set S6 wait time -ENV S6_CMD_WAIT_FOR_SERVICES=1 \ - S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \ - S6_SERVICES_GRACETIME=0 - -# Correct data path -# hadolint ignore=DL4006 -RUN grep -rl "/app/data" /app | xargs sed -i 's|/app/data|/config/addons_config/mealie_data|g' - -################## -# 3 Install apps # -################## - -# Add rootfs -COPY rootfs/ / - -# Corrects permissions for s6 v3 -RUN if [ -d /etc/cont-init.d ]; then chmod -R 755 /etc/cont-init.d; fi && \ - if [ -d /etc/services.d ]; then chmod -R 755 /etc/services.d; fi && \ - if [ -f /entrypoint.sh ]; then chmod 755 /entrypoint.sh; fi - -# Modules -ARG MODULES="00-banner.sh 01-custom_script.sh" - -# Automatic modules download -RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \ - && if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \ - && apt-get update && apt-get install -yqq --no-install-recommends ca-certificates || apk add --no-cache ca-certificates >/dev/null || true \ - && mkdir -p /etc/cont-init.d \ - && for scripts in $MODULES; do echo "$scripts" && curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/$scripts" -o /etc/cont-init.d/"$scripts" && [ "$(sed -n '/\/bin/p;q' /etc/cont-init.d/"$scripts")" != "" ] || (echo "script failed to install $scripts" && exit 1); done \ - && chmod -R 755 /etc/cont-init.d - -# Manual apps -ENV PACKAGES="jq curl bash" - -# Automatic apps & bashio -# hadolint ignore=SC2015 -RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \ - && if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \ - && curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/automatic_packages.sh" --output /automatic_packages.sh \ - && chmod 777 /automatic_packages.sh \ - && eval /./automatic_packages.sh "${PACKAGES:-}" \ - && rm /automatic_packages.sh - -################ -# 4 Entrypoint # -################ - -RUN \ - # Add custom instructions to run.sh - sed -i '1d' /app/mealie/run.sh \ - && cat /app/mealie/run.sh >> /run.txt \ - && cat /run.txt > /app/mealie/run.sh \ - && chmod +x /app/mealie/run.sh - -############ -# 5 Labels # -############ - -ARG BUILD_ARCH -ARG BUILD_DATE -ARG BUILD_DESCRIPTION -ARG BUILD_NAME -ARG BUILD_REF -ARG BUILD_REPOSITORY -ARG BUILD_VERSION -LABEL \ - io.hass.name="${BUILD_NAME}" \ - io.hass.description="${BUILD_DESCRIPTION}" \ - io.hass.arch="${BUILD_ARCH}" \ - io.hass.type="addon" \ - io.hass.version=${BUILD_VERSION} \ - maintainer="alexbelgium (https://github.com/alexbelgium)" \ - org.opencontainers.image.title="${BUILD_NAME}" \ - org.opencontainers.image.description="${BUILD_DESCRIPTION}" \ - org.opencontainers.image.vendor="Home Assistant Add-ons" \ - org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \ - org.opencontainers.image.licenses="MIT" \ - org.opencontainers.image.url="https://github.com/alexbelgium" \ - org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \ - org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \ - org.opencontainers.image.created=${BUILD_DATE} \ - org.opencontainers.image.revision=${BUILD_REF} \ - org.opencontainers.image.version=${BUILD_VERSION} diff --git a/mealie_api/README.md b/mealie_api/README.md deleted file mode 100644 index 6638ce580..000000000 --- a/mealie_api/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Obsolete - -The dev has now published an all-in-one image! Therefore, I'm cancelling the separate api/frontend addons and moving back to the original one. It now comprises both API and frontend, and exposes both on different ports. - -As before, you can export your database, log to the new addon, then reimport it. Perhaps it could work straight out of the box as the data path stays the same diff --git a/mealie_api/apparmor.txt b/mealie_api/apparmor.txt deleted file mode 100644 index 1d600a50e..000000000 --- a/mealie_api/apparmor.txt +++ /dev/null @@ -1,58 +0,0 @@ -#include - -profile mealie_api_addon flags=(attach_disconnected,mediate_deleted) { - #include - - capability, - file, - signal, - mount, - umount, - remount, - network udp, - network tcp, - network dgram, - network stream, - network inet, - network inet6, - network netlink raw, - network unix dgram, - capability setgid, - capability setuid, - - -# S6-Overlay - /init ix, - /run/{s6,s6-rc*,service}/** ix, - /package/** ix, - /command/** ix, - /run/{,**} rwk, - /dev/tty rw, - /bin/** ix, - /usr/bin/** ix, - /usr/lib/bashio/** ix, - /etc/s6/** rix, - /run/s6/** rix, - /etc/services.d/** rwix, - /etc/cont-init.d/** rwix, - /etc/cont-finish.d/** rwix, - /init rix, - /var/run/** mrwkl, - /var/run/ mrwkl, - /dev/i2c-1 mrwkl, - /dev/sda1 mrwkl, - /dev/sdb1 mrwkl, - /dev/nvme0 mrwkl, - /dev/nvme1 mrwkl, - /dev/mmcblk0p1 mrwkl, - - # Data access - /data/** rw, - - # suppress ptrace denials when using 'docker ps' or using 'ps' inside a container - ptrace (trace,read) peer=docker-default, - - # docker daemon confinement requires explict allow rule for signal - signal (receive) set=(kill,term) peer=/usr/bin/docker, - -} diff --git a/mealie_api/build.json b/mealie_api/build.json deleted file mode 100644 index f6dc5a975..000000000 --- a/mealie_api/build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "build_from": { - "aarch64": "hkotel/mealie:api-", - "amd64": "hkotel/mealie:api-" - }, - "codenotary": { - "signer": "alexandrep.github@gmail.com" - } -} diff --git a/mealie_api/config.json b/mealie_api/config.json deleted file mode 100644 index c9a042742..000000000 --- a/mealie_api/config.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "arch": [ - "aarch64", - "amd64" - ], - "codenotary": "alexandrep.github@gmail.com", - "description": "A Self Hosted Recipe Manager (API)", - "environment": { - "DB_ENGINE": "sqlite", - "WEB_GUNICORN": "true" - }, - "image": "ghcr.io/alexbelgium/mealie_api-{arch}", - "map": [ - "config:rw", - "share:rw", - "ssl:rw" - ], - "name": "Obsolete : Mealie API", - "options": { - "PGID": 1000, - "PUID": 1000, - "certfile": "fullchain.pem", - "keyfile": "privkey.pem", - "ssl": false - }, - "panel_icon": "mdi:silverware-fork-knife", - "ports": { - "9000/tcp": 9000 - }, - "ports_description": { - "9000/tcp": "API port" - }, - "schema": { - "BASE_URL": "str?", - "PGID": "int", - "PUID": "int", - "certfile": "str", - "keyfile": "str", - "ssl": "bool" - }, - "slug": "mealie_api", - "url": "https://github.com/alexbelgium/hassio-addons", - "version": "v1.0.0-beta-3", - "webui": "[PROTO:ssl]://[HOST]:[PORT:9000]" -} diff --git a/mealie_api/icon.png b/mealie_api/icon.png deleted file mode 100644 index 003c2a0d1312ce700bb8f340aea9efe4129b3864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11835 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 f|8G^49+F indent) {delete vname[i]}} - if (length($3) > 0) { - vn=""; for (i=0; i/tmpfile -while IFS= read -r line; do - # Clean output - line="${line//[\"\']/}" - # Check if secret - if [[ "${line}" == *'!secret '* ]]; then - echo "secret detected" - secret=${line#*secret } - # Check if single match - secretnum=$(sed -n "/$secret:/=" /config/secrets.yaml) - [[ $(echo $secretnum) == *' '* ]] && bashio::exit.nok "There are multiple matches for your password name. Please check your secrets.yaml file" - # Get text - secret=$(sed -n "/$secret:/p" /config/secrets.yaml) - secret=${secret#*: } - line="${line%%=*}='$secret'" - fi - # Data validation - if [[ "$line" =~ ^.+[=].+$ ]]; then - export "$line" - # Show in log - if ! bashio::config.false "verbose"; then bashio::log.blue "$line"; fi - else - bashio::exit.nok "$line does not follow the correct structure. Please check your yaml file." - fi -done <"/tmpfile" - -else -bashio::log.info "No config.yaml found in $CONFIGSOURCE, using default parameters" -fi - -############### -# PERMISSIONS # -############### - -echo "Permissions adapted" -mkdir -p /config/addons_config/mealie_data -cp -rnf /data/* /config/addons_config/mealie_data/ -chown -R "$(bashio::config "PUID"):$(bashio::config "PGID")" /config/addons_config/mealie_data -touch /config/addons_config/mealie_data/.secret -chmod -R 777 /config/addons_config/mealie_data - -####### -# SSL # -####### - -bashio::config.require.ssl -if bashio::config.true 'ssl'; then - bashio::log.info "Configuring ssl" - CERTFILE=$(bashio::config 'certfile') - KEYFILE=$(bashio::config 'keyfile') - if [ -f /app/Caddyfile ]; then sed -i "7 i tls /ssl/$CERTFILE /ssl/$KEYFILE" /app/Caddyfile; fi - if [ -f /app/frontend/Caddyfile ]; then sed -i "7 i tls /ssl/$CERTFILE /ssl/$KEYFILE" /app/frontend/Caddyfile; fi -fi - - -bashio::log.info "Starting app" - -fi diff --git a/mealie_api/updater.json b/mealie_api/updater.json deleted file mode 100644 index 103b5e5e4..000000000 --- a/mealie_api/updater.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "github_beta": "true", - "github_fulltag": "true", - "last_update": "25-12-2022", - "repository": "alexbelgium/hassio-addons", - "slug": "mealie_api", - "source": "github", - "upstream_repo": "hay-kot/mealie", - "upstream_version": "v1.0.0-beta-1" -} diff --git a/mealie_frontend/CHANGELOG.md b/mealie_frontend/CHANGELOG.md deleted file mode 100644 index b9129847e..000000000 --- a/mealie_frontend/CHANGELOG.md +++ /dev/null @@ -1,7 +0,0 @@ - -## v1.0.0-beta-1 (25-12-2022) -- Update to latest version from hay-kot/mealie - -## 1.0.0 (25-12-2022) -- Update to latest version from hay-kot/mealie -- New addon diff --git a/mealie_frontend/Dockerfile b/mealie_frontend/Dockerfile deleted file mode 100644 index c7207ab84..000000000 --- a/mealie_frontend/Dockerfile +++ /dev/null @@ -1,109 +0,0 @@ -#============================# -# ALEXBELGIUM'S DOCKERFILE # -#============================# -# _.------. -# _.-` ('>.-`"""-. -# '.--'` _'` _ .--.) -# -' '-.-';` ` -# ' - _.' ``'--. -# '---` .-'""` -# /` -#=== Home Assistant Addon ===# - -################# -# 1 Build Image # -################# - -ARG BUILD_FROM -ARG BUILD_VERSION -ARG BUILD_UPSTREAM="v1.0.0beta-5" -FROM ${BUILD_FROM}${BUILD_UPSTREAM} - -################## -# 2 Modify Image # -################## - -# Set S6 wait time -ENV S6_CMD_WAIT_FOR_SERVICES=1 \ - S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \ - S6_SERVICES_GRACETIME=0 - -# Correct data path -# hadolint ignore=DL4006 -RUN grep -rl "/app/data" /app | xargs sed -i 's|/app/data|/config/addons_config/mealie_data|g' - -################## -# 3 Install apps # -################## - -# Add rootfs -COPY rootfs/ / - -# Corrects permissions for s6 v3 -RUN if [ -d /etc/cont-init.d ]; then chmod -R 755 /etc/cont-init.d; fi && \ - if [ -d /etc/services.d ]; then chmod -R 755 /etc/services.d; fi && \ - if [ -f /entrypoint.sh ]; then chmod 755 /entrypoint.sh; fi - -# Modules -ARG MODULES="00-banner.sh 01-custom_script.sh" - -# Automatic modules download -RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \ - && if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \ - && apt-get update && apt-get install -yqq --no-install-recommends ca-certificates || apk add --no-cache ca-certificates >/dev/null || true \ - && mkdir -p /etc/cont-init.d \ - && for scripts in $MODULES; do echo "$scripts" && curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/$scripts" -o /etc/cont-init.d/"$scripts" && [ "$(sed -n '/\/bin/p;q' /etc/cont-init.d/"$scripts")" != "" ] || (echo "script failed to install $scripts" && exit 1); done \ - && chmod -R 755 /etc/cont-init.d - -# Manual apps -ENV PACKAGES="jq curl bash" - -# Automatic apps & bashio -# hadolint ignore=SC2015 -RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \ - && if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \ - && curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/automatic_packages.sh" --output /automatic_packages.sh \ - && chmod 777 /automatic_packages.sh \ - && eval /./automatic_packages.sh "${PACKAGES:-}" \ - && rm /automatic_packages.sh - -################ -# 4 Entrypoint # -################ - -RUN \ - # Add custom instructions to run.sh - sed -i '1d' /app/run.sh \ - && cat /app/run.sh >> /run.txt \ - && cat /run.txt > /app/run.sh \ - && chmod +x /app/run.sh - -############ -# 5 Labels # -############ - -ARG BUILD_ARCH -ARG BUILD_DATE -ARG BUILD_DESCRIPTION -ARG BUILD_NAME -ARG BUILD_REF -ARG BUILD_REPOSITORY -ARG BUILD_VERSION -LABEL \ - io.hass.name="${BUILD_NAME}" \ - io.hass.description="${BUILD_DESCRIPTION}" \ - io.hass.arch="${BUILD_ARCH}" \ - io.hass.type="addon" \ - io.hass.version=${BUILD_VERSION} \ - maintainer="alexbelgium (https://github.com/alexbelgium)" \ - org.opencontainers.image.title="${BUILD_NAME}" \ - org.opencontainers.image.description="${BUILD_DESCRIPTION}" \ - org.opencontainers.image.vendor="Home Assistant Add-ons" \ - org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \ - org.opencontainers.image.licenses="MIT" \ - org.opencontainers.image.url="https://github.com/alexbelgium" \ - org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \ - org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \ - org.opencontainers.image.created=${BUILD_DATE} \ - org.opencontainers.image.revision=${BUILD_REF} \ - org.opencontainers.image.version=${BUILD_VERSION} diff --git a/mealie_frontend/README.md b/mealie_frontend/README.md deleted file mode 100644 index 6638ce580..000000000 --- a/mealie_frontend/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Obsolete - -The dev has now published an all-in-one image! Therefore, I'm cancelling the separate api/frontend addons and moving back to the original one. It now comprises both API and frontend, and exposes both on different ports. - -As before, you can export your database, log to the new addon, then reimport it. Perhaps it could work straight out of the box as the data path stays the same diff --git a/mealie_frontend/apparmor.txt b/mealie_frontend/apparmor.txt deleted file mode 100644 index 3e27cef34..000000000 --- a/mealie_frontend/apparmor.txt +++ /dev/null @@ -1,58 +0,0 @@ -#include - -profile mealie_frontend_addon flags=(attach_disconnected,mediate_deleted) { - #include - - capability, - file, - signal, - mount, - umount, - remount, - network udp, - network tcp, - network dgram, - network stream, - network inet, - network inet6, - network netlink raw, - network unix dgram, - capability setgid, - capability setuid, - - -# S6-Overlay - /init ix, - /run/{s6,s6-rc*,service}/** ix, - /package/** ix, - /command/** ix, - /run/{,**} rwk, - /dev/tty rw, - /bin/** ix, - /usr/bin/** ix, - /usr/lib/bashio/** ix, - /etc/s6/** rix, - /run/s6/** rix, - /etc/services.d/** rwix, - /etc/cont-init.d/** rwix, - /etc/cont-finish.d/** rwix, - /init rix, - /var/run/** mrwkl, - /var/run/ mrwkl, - /dev/i2c-1 mrwkl, - /dev/sda1 mrwkl, - /dev/sdb1 mrwkl, - /dev/nvme0 mrwkl, - /dev/nvme1 mrwkl, - /dev/mmcblk0p1 mrwkl, - - # Data access - /data/** rw, - - # suppress ptrace denials when using 'docker ps' or using 'ps' inside a container - ptrace (trace,read) peer=docker-default, - - # docker daemon confinement requires explict allow rule for signal - signal (receive) set=(kill,term) peer=/usr/bin/docker, - -} diff --git a/mealie_frontend/build.json b/mealie_frontend/build.json deleted file mode 100644 index 43aacb0bc..000000000 --- a/mealie_frontend/build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "build_from": { - "aarch64": "hkotel/mealie:frontend-", - "amd64": "hkotel/mealie:frontend-" - }, - "codenotary": { - "signer": "alexandrep.github@gmail.com" - } -} diff --git a/mealie_frontend/config.json b/mealie_frontend/config.json deleted file mode 100644 index 985382d1d..000000000 --- a/mealie_frontend/config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "arch": [ - "aarch64", - "amd64" - ], - "codenotary": "alexandrep.github@gmail.com", - "description": "A Self Hosted Recipe Manager (frontend)", - "image": "ghcr.io/alexbelgium/mealie_frontend-{arch}", - "map": [ - "config:rw", - "share:rw", - "ssl:rw" - ], - "name": "Obsolete : Mealie (frontend)", - "options": { - "API_URL": "http://homeassistant.local:9000", - "PGID": 1000, - "PUID": 1000, - "certfile": "fullchain.pem", - "keyfile": "privkey.pem", - "ssl": false - }, - "panel_icon": "mdi:silverware-fork-knife", - "ports": { - "3000/tcp": 3012 - }, - "ports_description": { - "3000/tcp": "Webui" - }, - "schema": { - "API_URL": "str", - "BASE_URL": "str?", - "PGID": "int", - "PUID": "int", - "certfile": "str", - "keyfile": "str", - "ssl": "bool" - }, - "slug": "mealie_frontend", - "url": "https://github.com/alexbelgium/hassio-addons", - "version": "v1.0.0-beta-1b-2", - "webui": "[PROTO:ssl]://[HOST]:[PORT:3000]" -} diff --git a/mealie_frontend/icon.png b/mealie_frontend/icon.png deleted file mode 100644 index 136b3951561b9d987b86bd8e121f02d131140a38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3628 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 indent) {delete vname[i]}} - if (length($3) > 0) { - vn=""; for (i=0; i/tmpfile -while IFS= read -r line; do - # Clean output - line="${line//[\"\']/}" - # Check if secret - if [[ "${line}" == *'!secret '* ]]; then - echo "secret detected" - secret=${line#*secret } - # Check if single match - secretnum=$(sed -n "/$secret:/=" /config/secrets.yaml) - [[ $(echo $secretnum) == *' '* ]] && bashio::exit.nok "There are multiple matches for your password name. Please check your secrets.yaml file" - # Get text - secret=$(sed -n "/$secret:/p" /config/secrets.yaml) - secret=${secret#*: } - line="${line%%=*}='$secret'" - fi - # Data validation - if [[ "$line" =~ ^.+[=].+$ ]]; then - export "$line" - # Show in log - if ! bashio::config.false "verbose"; then bashio::log.blue "$line"; fi - else - bashio::exit.nok "$line does not follow the correct structure. Please check your yaml file." - fi -done <"/tmpfile" - -else -bashio::log.info "No config.yaml found in $CONFIGSOURCE, using default parameters" -fi - -############### -# PERMISSIONS # -############### - -echo "Permissions adapted" -mkdir -p /config/addons_config/mealie_data -cp -rnf /data/* /config/addons_config/mealie_data/ -rm /config/addons_config/mealie_data/options.json || true -chmod 777 /config/addons_config/mealie_data -chown -R "$(bashio::config "PUID"):$(bashio::config "PGID")" /config/addons_config/mealie_data - -####### -# SSL # -####### - -bashio::config.require.ssl -if bashio::config.true 'ssl'; then - bashio::log.info "Configuring ssl" - CERTFILE=$(bashio::config 'certfile') - KEYFILE=$(bashio::config 'keyfile') - if [ -f /app/Caddyfile ]; then sed -i "7 i tls /ssl/$CERTFILE /ssl/$KEYFILE" /app/Caddyfile; fi - if [ -f /app/frontend/Caddyfile ]; then sed -i "7 i tls /ssl/$CERTFILE /ssl/$KEYFILE" /app/frontend/Caddyfile; fi -fi - - -bashio::log.info "Starting app" - -fi diff --git a/mealie_frontend/updater.json b/mealie_frontend/updater.json deleted file mode 100644 index 25e5d496d..000000000 --- a/mealie_frontend/updater.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "github_beta": "true", - "github_fulltag": "true", - "last_update": "25-12-2022", - "repository": "alexbelgium/hassio-addons", - "slug": "mealie_frontend", - "source": "github", - "upstream_repo": "hay-kot/mealie", - "upstream_version": "v1.0.0-beta-1" -}