forked from tubalainen/sparsnas_decoder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
36 lines (26 loc) · 1018 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# docker build --build-arg SENSORS="12 10000" \
# --build-arg MQTT_HOST=192.168.x.x --build-arg MQTT_PORT=1883 \
# --build-arg=MQTT_USERNAME=username --build-arg=MQTT_PASSWORD=hemligt
FROM alpine:edge as BUILD_ENV
COPY ./sparsnas_decode.cpp /build/
RUN apk add --no-cache g++ mosquitto-dev && \
g++ -o /build/sparsnas_decode -O2 -Wall /build/sparsnas_decode.cpp -lmosquitto
FROM alpine:edge
ARG SENSORS
ARG MQTT_HOST
ARG MQTT_PORT
ARG MQTT_USERNAME
ARG MQTT_PASSWORD
ENV MQTT_HOST=${MQTT_HOST:-localhost}
ENV MQTT_PORT=${MQTT_PORT:-1883}
ENV MQTT_USERNAME=$MQTT_USERNAME
ENV MQTT_PASSWORD=$MQTT_PASSWORD
RUN : "${SENSORS:?Build argument 'SENSORS' needs to be set and non-empty.}"
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted \
rtl-sdr \
mosquitto-libs++ \
zsh
COPY --from=BUILD_ENV /build/sparsnas_decode /usr/bin/
COPY sparsnas.sh /
RUN sed -i "s/^SENSORS=.*/SENSORS=(${SENSORS})/" /sparsnas.sh
ENTRYPOINT ["/sparsnas.sh"]