From 7bee5d3da5a96773e3bb1f8430231460f5b80fea Mon Sep 17 00:00:00 2001 From: Edward Brown Date: Wed, 1 Nov 2023 11:11:44 +0000 Subject: [PATCH] Add support for running as (non-Add-on) Docker and pre-built image --- .github/workflows/main.yml | 15 +++++++++++++++ Dockerfile | 2 +- haco/constants.py | 12 ++++++------ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6556dfc..2610b00 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,6 +30,13 @@ jobs: run: | pip install twine tappack + - name: Docker Login + env: + DOCKER_USER: ${{ secrets.DOCKER_USER }} + DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }} + run: | + echo $DOCKER_TOKEN | docker login --username $DOCKER_USER --password-stdin + - name: Increment Version run: | @@ -74,3 +81,11 @@ jobs: DATA="{\"destination\": \"${URL}\"}" curl --request POST --url https://api.rebrandly.com/v1/links/${LINK_ID} --header 'accept: application/json' --header "apikey: ${REBRANDLY_API_KEY}" --header 'content-type: application/json' --data "$DATA" &> /dev/null + - name: Build Docker + run: | + docker build . --build-arg TYPE=release --build-arg VERSION=${VERSION} --tag fmtr/${NAME}:v${VERSION} + docker tag fmtr/${NAME}:v${VERSION} fmtr/${NAME}:latest + + - name: Push Docker + run: | + docker push --all-tags fmtr/${NAME} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index ad53ec5..54a891b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,6 +16,6 @@ RUN if [ -z "$VERSION" ] ; then pip3 install haco ; else pip3 install haco==${VE FROM ${TYPE} as image -CMD haco +CMD haco-daemon diff --git a/haco/constants.py b/haco/constants.py index 4075364..3d659b2 100644 --- a/haco/constants.py +++ b/haco/constants.py @@ -11,12 +11,12 @@ RECONNECT_DELAY_SEC = 5 ON = 'ON' OFF = 'OFF' -CONFIGS_PATH = Path(os.environ['HACO_CONFIGS_PATH']) -OPTIONS_PATH = Path(os.environ['HACO_OPTIONS_PATH']) -MQTT_PASSWORD = os.environ['MQTT_PASSWORD'] -MQTT_HOST = os.environ['MQTT_HOST'] -MQTT_PORT = int(os.environ['MQTT_PORT']) -MQTT_USERNAME = os.environ['MQTT_USERNAME'] +CONFIGS_PATH = Path(os.environ.get('HACO_CONFIGS_PATH','/haco/config')) +OPTIONS_PATH = Path(os.environ.get('HACO_OPTIONS_PATH','/haco/data/options.json')) +MQTT_HOST = os.environ.get('MQTT_HOST','localhost') +MQTT_PORT = int(os.environ.get('MQTT_PORT',1883)) +MQTT_USERNAME = os.environ.get('MQTT_USERNAME') +MQTT_PASSWORD = os.environ.get('MQTT_PASSWORD',None) if (CONFIGS_PATH / '.debug').exists(): LOG_LEVEL = 'DEBUG'