mirror of
https://github.com/owntracks/docker-recorder.git
synced 2026-05-05 02:46:34 +00:00
Reworked Dockerfiles for smaller Images, Healthcheck added (#6)
This commit is contained in:
31
Dockerfile
31
Dockerfile
@@ -2,14 +2,15 @@ FROM debian:jessie
|
||||
LABEL version="0.4" description="Mosquitto and OwnTracks Recorder"
|
||||
MAINTAINER Jan-Piet Mens <jpmens@gmail.com>
|
||||
|
||||
RUN apt-get update && apt-get install -y wget && \
|
||||
wget -q -O /tmp/owntracks.gpg.key http://repo.owntracks.org/repo.owntracks.org.gpg.key && \
|
||||
apt-key add /tmp/owntracks.gpg.key
|
||||
RUN wget -q -O /tmp/mosquitto.gpg.key http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key && \
|
||||
apt-key add /tmp/mosquitto.gpg.key
|
||||
RUN apt-get install -y software-properties-common && \
|
||||
ADD http://repo.owntracks.org/repo.owntracks.org.gpg.key /tmp/owntracks.gpg.key
|
||||
ADD http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key /tmp/mosquitto.gpg.key
|
||||
|
||||
RUN apt-key add /tmp/owntracks.gpg.key && \
|
||||
apt-key add /tmp/mosquitto.gpg.key && \
|
||||
apt-get update && \
|
||||
apt-get install -y software-properties-common net-tools && \
|
||||
apt-add-repository 'deb http://repo.owntracks.org/debian jessie main' && \
|
||||
apt-add-repository 'deb http://repo.mosquitto.org/debian jessie main' && \
|
||||
apt-add-repository 'deb http://repo.mosquitto.org/debian jessie main' && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
libmosquitto1 \
|
||||
@@ -20,21 +21,29 @@ RUN apt-get install -y software-properties-common && \
|
||||
mosquitto-clients \
|
||||
supervisor \
|
||||
ot-recorder \
|
||||
curl \
|
||||
&& \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# data volume
|
||||
VOLUME /owntracks
|
||||
|
||||
COPY ot-recorder.default /etc/default/ot-recorder
|
||||
RUN mkdir -p /var/log/supervisor && \
|
||||
mkdir -p -m 775 /owntracks/recorder/store && \
|
||||
chown -R owntracks:owntracks /owntracks
|
||||
|
||||
COPY launcher.sh /usr/local/sbin/launcher.sh
|
||||
COPY generate-CA.sh /usr/local/sbin/generate-CA.sh
|
||||
RUN chmod 755 /usr/local/sbin/launcher.sh /usr/local/sbin/generate-CA.sh
|
||||
|
||||
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||
COPY mosquitto.conf mosquitto.acl /etc/mosquitto/
|
||||
|
||||
COPY recorder-health.sh /usr/local/sbin/recorder-health.sh
|
||||
HEALTHCHECK CMD /usr/local/sbin/recorder-health.sh
|
||||
|
||||
RUN mkdir -p /var/log/supervisor && \
|
||||
mkdir -p -m 775 /owntracks/recorder/store && \
|
||||
chown -R owntracks:owntracks /owntracks && \
|
||||
chmod 755 /usr/local/sbin/launcher.sh /usr/local/sbin/generate-CA.sh /usr/local/sbin/recorder-health.sh
|
||||
|
||||
EXPOSE 1883 8883 8083
|
||||
CMD ["/usr/local/sbin/launcher.sh"]
|
||||
|
||||
@@ -2,11 +2,15 @@ FROM armhf/debian:jessie
|
||||
LABEL version="0.4" description="Mosquitto and OwnTracks Recorder"
|
||||
MAINTAINER Jan-Piet Mens <jpmens@gmail.com>
|
||||
|
||||
RUN apt-get update && apt-get install -y wget && \
|
||||
wget -q -O /tmp/owntracks.gpg.key http://repo.owntracks.org/repo.owntracks.org.gpg.key && \
|
||||
apt-key add /tmp/owntracks.gpg.key
|
||||
RUN apt-get install -y software-properties-common && \
|
||||
ADD http://repo.owntracks.org/repo.owntracks.org.gpg.key /tmp/owntracks.gpg.key
|
||||
ADD http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key /tmp/mosquitto.gpg.key
|
||||
|
||||
RUN apt-key add /tmp/owntracks.gpg.key && \
|
||||
apt-key add /tmp/mosquitto.gpg.key && \
|
||||
apt-get update && \
|
||||
apt-get install -y software-properties-common net-tools && \
|
||||
apt-add-repository 'deb http://repo.owntracks.org/debian jessie main' && \
|
||||
apt-add-repository 'deb http://repo.mosquitto.org/debian jessie main' && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
libmosquitto1 \
|
||||
@@ -17,21 +21,29 @@ RUN apt-get install -y software-properties-common && \
|
||||
mosquitto-clients \
|
||||
supervisor \
|
||||
ot-recorder \
|
||||
curl \
|
||||
&& \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# data volume
|
||||
VOLUME /owntracks
|
||||
|
||||
COPY ot-recorder.default /etc/default/ot-recorder
|
||||
RUN mkdir -p /var/log/supervisor && \
|
||||
mkdir -p -m 775 /owntracks/recorder/store && \
|
||||
chown -R owntracks:owntracks /owntracks
|
||||
|
||||
COPY launcher.sh /usr/local/sbin/launcher.sh
|
||||
COPY generate-CA.sh /usr/local/sbin/generate-CA.sh
|
||||
RUN chmod 755 /usr/local/sbin/launcher.sh /usr/local/sbin/generate-CA.sh
|
||||
|
||||
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||
COPY mosquitto.conf mosquitto.acl /etc/mosquitto/
|
||||
|
||||
COPY recorder-health.sh /usr/local/sbin/recorder-health.sh
|
||||
HEALTHCHECK CMD /usr/local/sbin/recorder-health.sh
|
||||
|
||||
RUN mkdir -p /var/log/supervisor && \
|
||||
mkdir -p -m 775 /owntracks/recorder/store && \
|
||||
chown -R owntracks:owntracks /owntracks && \
|
||||
chmod 755 /usr/local/sbin/launcher.sh /usr/local/sbin/generate-CA.sh /usr/local/sbin/recorder-health.sh
|
||||
|
||||
EXPOSE 1883 8883 8083
|
||||
CMD ["/usr/local/sbin/launcher.sh"]
|
||||
|
||||
33
recorder-health.sh
Normal file
33
recorder-health.sh
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
addr=`hostname`
|
||||
port=8083
|
||||
|
||||
epoch=$(date +%s)
|
||||
|
||||
location=$(cat <<EOJSON
|
||||
{
|
||||
"_type": "location",
|
||||
"tid": "pp",
|
||||
"lat": 51.47879,
|
||||
"lon": -0.010677,
|
||||
"tst": $epoch
|
||||
}
|
||||
EOJSON
|
||||
)
|
||||
|
||||
# POST location to ping/ping, ignoring output
|
||||
curl -sSL --data "${location}" "http://${addr}:${port}/pub?u=ping&d=ping" > /dev/null
|
||||
|
||||
# obtain tst of ping/ping's last location
|
||||
ret_epoch=$(curl -sSL http://${addr}:${port}/api/0/last --data "user=ping&device=ping" |
|
||||
env python -c 'import sys, json; print json.load(sys.stdin)[0]["tst"];')
|
||||
|
||||
if [ $epoch -ne $ret_epoch ]; then
|
||||
echo PANIC $epoch $ret_epoch
|
||||
exit 1
|
||||
else
|
||||
echo OK
|
||||
exit 0
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user