From 3a26d0c36a2fbfb512a490655540425d14386324 Mon Sep 17 00:00:00 2001 From: Max Winterstein Date: Tue, 7 Dec 2021 12:56:43 +0100 Subject: [PATCH] Optimize image --- toogoodtogo-ha-mqtt-bridge/Dockerfile | 5 +- toogoodtogo-ha-mqtt-bridge/README.md | 3 +- toogoodtogo-ha-mqtt-bridge/config.json | 47 ------------------- toogoodtogo-ha-mqtt-bridge/config.yaml | 44 +++++++++++++++++ toogoodtogo-ha-mqtt-bridge/helper-builder.sh | 1 - .../cont-init.d/toogoodtogo-ha-mqtt-bridge.sh | 13 +++++ .../toogoodtogo-ha-mqtt-bridge/finish | 5 ++ .../services.d/toogoodtogo-ha-mqtt-bridge/run | 4 ++ toogoodtogo-ha-mqtt-bridge/run.sh | 7 --- 9 files changed, 69 insertions(+), 60 deletions(-) delete mode 100644 toogoodtogo-ha-mqtt-bridge/config.json create mode 100644 toogoodtogo-ha-mqtt-bridge/config.yaml delete mode 120000 toogoodtogo-ha-mqtt-bridge/helper-builder.sh create mode 100644 toogoodtogo-ha-mqtt-bridge/rootfs/etc/cont-init.d/toogoodtogo-ha-mqtt-bridge.sh create mode 100644 toogoodtogo-ha-mqtt-bridge/rootfs/etc/services.d/toogoodtogo-ha-mqtt-bridge/finish create mode 100644 toogoodtogo-ha-mqtt-bridge/rootfs/etc/services.d/toogoodtogo-ha-mqtt-bridge/run delete mode 100644 toogoodtogo-ha-mqtt-bridge/run.sh diff --git a/toogoodtogo-ha-mqtt-bridge/Dockerfile b/toogoodtogo-ha-mqtt-bridge/Dockerfile index 4cd1595..82a9afa 100644 --- a/toogoodtogo-ha-mqtt-bridge/Dockerfile +++ b/toogoodtogo-ha-mqtt-bridge/Dockerfile @@ -14,7 +14,4 @@ RUN mkdir /app && tar xvfz /src.tar.gz -C /app --strip-components=1 WORKDIR /app RUN poetry update && poetry install --no-dev -COPY run.sh / -RUN chmod a+x /run.sh -ENV DYNACONF_DATA_DIR=/data -CMD [ "/run.sh" ] +ADD rootfs / \ No newline at end of file diff --git a/toogoodtogo-ha-mqtt-bridge/README.md b/toogoodtogo-ha-mqtt-bridge/README.md index 5c9e190..ceffa57 100644 --- a/toogoodtogo-ha-mqtt-bridge/README.md +++ b/toogoodtogo-ha-mqtt-bridge/README.md @@ -19,7 +19,8 @@ Based on https://github.com/MaxWinterstein/toogoodtogo-ha-mqtt-bridge Since Too Good To Go changed to the new password-less login, you will get a email after startup. -Just open the mail and hit `Login`. +Just open the mail and hit `Login`. +⚠️ It is not possible to approve the login on a smartphone were the TGTG app is installed. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/toogoodtogo-ha-mqtt-bridge/config.json b/toogoodtogo-ha-mqtt-bridge/config.json deleted file mode 100644 index 0adbba6..0000000 --- a/toogoodtogo-ha-mqtt-bridge/config.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "TooGoodToGo Home Assistant MQTT Bridge", - "version": "1.9.2", - "image": "maxwinterstein/homeassistant-addon-toogoodtogo-ha-mqtt-bridge-{arch}", - "slug": "tgtg-ha-mqtt-bridge", - "description": "Publish TooGoodToGo stock as MQTT messages", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "startup": "application", - "boot": "auto", - "options": { - "mqtt": { - "host": "homeassistant", - "port": 1883, - "username": "mqtt", - "password": "mqtt" - }, - "tgtg": { - "email": "me@example.com", - "every_n_minutes": 5 - }, - "timezone": "Europe/Berlin", - "locale": "en_us", - "cleanup": true - }, - "schema": { - "mqtt": { - "host": "str", - "port": "int", - "username": "str?", - "password": "str?" - }, - "tgtg": { - "email": "str", - "every_n_minutes": "float(0.1,)" - }, - "timezone": "str?", - "locale": "str?", - "cleanup": "bool" - }, - "stage": "experimental", - "url": "https://github.com/MaxWinterstein/toogoodtogo-ha-mqtt-bridge", - "hassio_role": "default", - "hassio_api": true, - "environment": { - "DYNACONF_DATA_DIR": "/data/" - } -} diff --git a/toogoodtogo-ha-mqtt-bridge/config.yaml b/toogoodtogo-ha-mqtt-bridge/config.yaml new file mode 100644 index 0000000..9c45a2d --- /dev/null +++ b/toogoodtogo-ha-mqtt-bridge/config.yaml @@ -0,0 +1,44 @@ +--- +name: TooGoodToGo Home Assistant MQTT Bridge +version: 1.9.2-2 +image: maxwinterstein/homeassistant-addon-toogoodtogo-ha-mqtt-bridge-{arch} +slug: tgtg-ha-mqtt-bridge +description: Publish TooGoodToGo stock as MQTT messages +arch: + - armhf + - armv7 + - aarch64 + - amd64 + - i386 +startup: application +boot: auto +options: + mqtt: + host: homeassistant + port: 1883 + username: mqtt + password: mqtt + tgtg: + email: me@example.com + every_n_minutes: 5 + timezone: Europe/Berlin + locale: en_us + cleanup: true +schema: + mqtt: + host: str + port: int + username: str? + password: str? + tgtg: + email: str + every_n_minutes: float(0.1,) + timezone: str? + locale: str? + cleanup: bool +stage: experimental +url: https://github.com/MaxWinterstein/toogoodtogo-ha-mqtt-bridge +hassio_role: default +hassio_api: true +environment: + DYNACONF_DATA_DIR: "/data/" diff --git a/toogoodtogo-ha-mqtt-bridge/helper-builder.sh b/toogoodtogo-ha-mqtt-bridge/helper-builder.sh deleted file mode 120000 index 77833e0..0000000 --- a/toogoodtogo-ha-mqtt-bridge/helper-builder.sh +++ /dev/null @@ -1 +0,0 @@ -../helper-builder.sh \ No newline at end of file diff --git a/toogoodtogo-ha-mqtt-bridge/rootfs/etc/cont-init.d/toogoodtogo-ha-mqtt-bridge.sh b/toogoodtogo-ha-mqtt-bridge/rootfs/etc/cont-init.d/toogoodtogo-ha-mqtt-bridge.sh new file mode 100644 index 0000000..b3844e7 --- /dev/null +++ b/toogoodtogo-ha-mqtt-bridge/rootfs/etc/cont-init.d/toogoodtogo-ha-mqtt-bridge.sh @@ -0,0 +1,13 @@ +#!/usr/bin/with-contenv bashio + +bashio::log.info "Copy setings file" +cp /data/options.json /app/toogoodtogo_ha_mqtt_bridge/settings.local.json + +if ! bashio::fs.file_exists /data/tokens.json; then + bashio::log.magenta "No saved tokens found. " + bashio::log.magenta "Please make sure to check your email for the login request and answer quickly." + bashio::log.magenta "You can't open it on a mobile phone where the TGTG app itself is installed." +else + bashio::log.cyan "Saved tokens found." + bashio::log.cyan "If you encoure problems reinstalling the add-on might help." +fi \ No newline at end of file diff --git a/toogoodtogo-ha-mqtt-bridge/rootfs/etc/services.d/toogoodtogo-ha-mqtt-bridge/finish b/toogoodtogo-ha-mqtt-bridge/rootfs/etc/services.d/toogoodtogo-ha-mqtt-bridge/finish new file mode 100644 index 0000000..be000ab --- /dev/null +++ b/toogoodtogo-ha-mqtt-bridge/rootfs/etc/services.d/toogoodtogo-ha-mqtt-bridge/finish @@ -0,0 +1,5 @@ +#!/usr/bin/execlineb -S0 +if { s6-test ${1} -ne 0 } +if { s6-test ${1} -ne 256 } + +s6-svscanctl -t /var/run/s6/services diff --git a/toogoodtogo-ha-mqtt-bridge/rootfs/etc/services.d/toogoodtogo-ha-mqtt-bridge/run b/toogoodtogo-ha-mqtt-bridge/rootfs/etc/services.d/toogoodtogo-ha-mqtt-bridge/run new file mode 100644 index 0000000..e796894 --- /dev/null +++ b/toogoodtogo-ha-mqtt-bridge/rootfs/etc/services.d/toogoodtogo-ha-mqtt-bridge/run @@ -0,0 +1,4 @@ +#!/usr/bin/with-contenv bashio + +bashio::log.info "Strating Bridge..." +exec python /app/toogoodtogo_ha_mqtt_bridge/main.py \ No newline at end of file diff --git a/toogoodtogo-ha-mqtt-bridge/run.sh b/toogoodtogo-ha-mqtt-bridge/run.sh deleted file mode 100644 index 84aa83a..0000000 --- a/toogoodtogo-ha-mqtt-bridge/run.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bashio - -bashio::log.info "Copy setings file" -cp /data/options.json /app/toogoodtogo_ha_mqtt_bridge/settings.local.json - -bashio::log.info "Strating Bridge" -python toogoodtogo_ha_mqtt_bridge/main.py \ No newline at end of file