lemur/docker/Dockerfile

66 lines
1.8 KiB
Docker
Raw Normal View History

2018-12-30 21:43:04 +01:00
FROM alpine:3.8
2018-12-30 00:04:13 +01:00
2018-12-30 21:43:04 +01:00
ARG VERSION
2018-12-30 00:04:13 +01:00
ENV VERSION master
2018-12-30 21:37:09 +01:00
ENV uid 1337
ENV gid 1337
ENV user lemur
ENV group lemur
2018-12-30 21:44:05 +01:00
2018-12-30 21:43:04 +01:00
COPY entrypoint /
2018-12-30 22:28:02 +01:00
COPY lemur.conf.py /home/lemur/.lemur/lemur.conf.py
2018-12-30 21:43:04 +01:00
COPY supervisor.conf /
COPY default.conf /etc/nginx/conf.d/
2018-12-30 00:04:13 +01:00
2018-12-30 21:43:04 +01:00
RUN addgroup -S ${group} -g ${gid} && \
adduser -D -S ${user} -G ${group} -u ${uid} && \
2018-12-31 13:21:30 +01:00
apk --update add python3 libldap postgresql-client nginx supervisor curl tzdata openssl bash && \
2018-12-30 21:43:04 +01:00
apk --update add --virtual build-dependencies \
2018-12-30 00:04:13 +01:00
git \
tar \
curl \
python3-dev \
npm \
bash \
musl-dev \
gcc \
autoconf \
automake \
make \
nasm \
zlib-dev \
postgresql-dev \
libressl-dev \
libffi-dev \
cyrus-sasl-dev \
2018-12-30 21:43:04 +01:00
openldap-dev && \
2018-12-30 22:48:28 +01:00
mkdir -p /opt/lemur /home/lemur/.lemur/ && \
curl -sSL https://github.com/Netflix/lemur/archive/$VERSION.tar.gz | tar xz -C /opt/lemur --strip-components=1 && \
2018-12-30 21:43:04 +01:00
pip3 install --upgrade pip && \
pip3 install --upgrade setuptools && \
chmod +x /entrypoint && \
2018-12-30 21:44:05 +01:00
mkdir -p /run/nginx/ && \
2018-12-30 22:48:28 +01:00
chown -R $user:$group /opt/lemur/ /home/lemur/.lemur/ && \
2018-12-30 22:50:22 +01:00
ln -s /dev/stdout /home/lemur/.lemur/lemur.log
2018-12-30 21:43:04 +01:00
2018-12-30 00:04:13 +01:00
WORKDIR /opt/lemur
2018-12-30 21:43:04 +01:00
RUN npm install --unsafe-perm && \
pip3 install -e . && \
node_modules/.bin/gulp build && \
node_modules/.bin/gulp package --urlContextPath=$(urlContextPath) && \
apk del build-dependencies
2018-12-30 00:04:13 +01:00
WORKDIR /
2018-12-30 21:37:09 +01:00
HEALTHCHECK --interval=12s --timeout=12s --start-period=30s \
2018-12-30 21:43:04 +01:00
CMD curl --fail http://localhost:80/api/1/healthcheck | grep -q ok || exit 1
2018-12-30 21:37:09 +01:00
2018-12-30 22:01:28 +01:00
USER root
2018-12-30 00:04:13 +01:00
2018-12-30 21:43:04 +01:00
ENTRYPOINT ["/entrypoint"]
2018-12-30 21:37:09 +01:00
2018-12-30 00:04:13 +01:00
CMD ["/usr/bin/supervisord","-c","supervisor.conf"]