Files
docker-recorder/Dockerfile
Marco Paganini 47e273651c Run ot-recorder as an unprivileged user.
- Default UID is 9999 (defined with EUID=9999) inside Dockerfile.
- Please note that the docker volume is visible as a directory on the
  host under /var/lib/docker/volumes.  This is normally not a problem,
  as this directory is not accessible by regular users on the host.
- It is still possible to redefine the UID by passing -e EUID=<uid> to
  docker run, but that should not be necessary in most situations.
  This fact has been left out of the documentation as it only appeals
  to more advanced users (who will look at the Dockerfile directly.)
2020-03-12 22:10:37 -07:00

49 lines
1.5 KiB
Docker

FROM alpine
LABEL version="1.0" description="OwnTracks Recorder"
LABEL authors="Jan-Piet Mens <jpmens@gmail.com>, Giovanni Angoli <juzam76@gmail.com>, Amy Nagle <kabili@zyrenth.com>, Malte Deiseroth <mdeiseroth88@gmail.com>"
MAINTAINER Malte Deiseroth <mdeiseroth88@gmail.com>
# build with `docker build --build-arg recorder_version=x.y.z '
ARG recorder_version=0.8.3
COPY entrypoint.sh /entrypoint.sh
COPY config.mk /config.mk
COPY recorder.conf /etc/default/recorder.conf
COPY recorder-health.sh /usr/local/sbin/recorder-health.sh
ENV VERSION=$recorder_version
ENV EUID=9999
RUN apk add --no-cache --virtual .build-deps \
curl-dev libconfig-dev make \
gcc musl-dev mosquitto-dev shadow wget \
&& apk add --no-cache \
libcurl libconfig-dev mosquitto-dev lmdb-dev libsodium-dev lua5.2-dev \
&& groupadd -g $EUID appuser \
&& useradd -r -u $EUID -s "/bin/sh" -g appuser appuser \
&& mkdir -p /usr/local/source \
&& cd /usr/local/source \
&& wget https://github.com/owntracks/recorder/archive/$VERSION.tar.gz \
&& tar xzf $VERSION.tar.gz \
&& cd recorder-$VERSION \
&& mv /config.mk ./ \
&& make \
&& make install \
&& cd / \
&& chmod 755 /entrypoint.sh \
&& rm -rf /usr/local/source \
&& chmod 755 /usr/local/sbin/recorder-health.sh \
&& apk del .build-deps
RUN apk add --no-cache \
curl jq
VOLUME ["/store", "/config"]
COPY recorder.conf /config/recorder.conf
HEALTHCHECK CMD /usr/local/sbin/recorder-health.sh
EXPOSE 8083
ENTRYPOINT ["/entrypoint.sh"]