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')