From 1f39ee619eaf375cee37055c6c2db5dbb035b92f Mon Sep 17 00:00:00 2001 From: Nathan Higley Date: Fri, 14 Jan 2022 15:41:55 -0500 Subject: [PATCH] Updated for docker --- Dockerfile | 9 +++++++++ metrics.py | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b3d348d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM python:alpine +RUN apk add --no-cache tini + +ADD metrics.py /metrics.py +ADD requirements.txt /requirements.txt +RUN pip install -r /requirements.txt + +ENTRYPOINT ["/sbin/tini", "--"] +CMD ["python" , "/metrics.py"] \ No newline at end of file diff --git a/metrics.py b/metrics.py index 527c2ff..3ab06f5 100644 --- a/metrics.py +++ b/metrics.py @@ -1,4 +1,6 @@ import requests +import sys +import signal from os import getenv from time import sleep from prometheus_client.core import GaugeMetricFamily, REGISTRY @@ -47,6 +49,11 @@ class TasmotaCollector(object): return values +def signal_handler(signal, frame): + sys.exit(0) + +signal.signal(signal.SIGINT, signal_handler) + if __name__ == '__main__': port = getenv('EXPORTER_PORT')