add docker support (#75)

* add docker support

* exit with gateway status on debug mode

* Remove timezone variable

* remove copying sample config
This commit is contained in:
Marcel Hoppe
2019-06-26 08:40:34 +02:00
committed by zewelor
parent 8fbf3540bd
commit 28ee17bf16
2 changed files with 56 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
FROM alpine:3.8
RUN mkdir application
WORKDIR /application
ADD . /application
RUN apk add --no-cache tzdata python3 git bluez glib-dev make bluez-dev bluez-libs musl-dev linux-headers gcc grep && \
python3 -m ensurepip && \
rm -r /usr/lib/python*/ensurepip && \
pip3 install --upgrade pip setuptools && \
if [ ! -e /usr/bin/pip ]; then \
ln -s pip3 /usr/bin/pip ; \
fi && \
if [[ ! -e /usr/bin/python ]]; then \
ln -sf /usr/bin/python3 /usr/bin/python; \
fi && \
rm -r /root/.cache && \
mkdir /config && \
pip install -r requirements.txt && \
ln -s /config/config.yaml ./config.yaml && \
apk del --no-cache bluez-dev musl-dev gcc make git glib-dev linux-headers grep python2
RUN apk add --no-cache tzdata python3 git bluez glib-dev make bluez-dev bluez-libs musl-dev linux-headers gcc grep && \
grep -P "(?<=REQUIREMENTS).*" workers/*.py | grep -Po "(?<=\[).*(?=\])" | tr ',' '\n' | tr "'" " "| tr "\"" " " > /tmp/requirements.txt && \
cat /tmp/requirements.txt && \
pip install -r /tmp/requirements.txt && \
rm /tmp/requirements.txt && \
apk del --no-cache bluez-dev musl-dev gcc make git glib-dev linux-headers grep python2
ADD ./start.sh /start.sh
RUN chmod +x /start.sh
ENV DEBUG false
VOLUME ["/config"]
ENTRYPOINT ["/bin/sh", "-c", "/start.sh"]
+19
View File
@@ -0,0 +1,19 @@
#!/bin/sh
if ! [ -f '/config/config.yaml' ]; then
echo "There is no config.yaml! An example is created."
cp /application/config.yaml.example /config/config.yaml.example
exit 1
fi
cd /application
if [ "$DEBUG" = 'true' ]; then
echo "Start in debug mode"
python3 ./gateway.py -d
status=$?
echo "Gateway died..."
exit $status
else
echo "Start in normal mode"
python3 ./gateway.py
fi