2020-02-18 17:43:48 +01:00
|
|
|
FROM alpine:3.8
|
|
|
|
|
|
|
|
ARG VERSION
|
|
|
|
ENV VERSION master
|
|
|
|
|
2020-06-06 15:23:12 +02:00
|
|
|
ARG URLCONTEXT
|
|
|
|
|
2020-02-18 17:43:48 +01:00
|
|
|
ENV uid 1337
|
|
|
|
ENV gid 1337
|
|
|
|
ENV user lemur
|
|
|
|
ENV group lemur
|
|
|
|
|
|
|
|
RUN addgroup -S ${group} -g ${gid} && \
|
|
|
|
adduser -D -S ${user} -G ${group} -u ${uid} && \
|
|
|
|
apk --update add python3 libldap postgresql-client nginx supervisor curl tzdata openssl bash && \
|
|
|
|
apk --update add --virtual build-dependencies \
|
|
|
|
git \
|
|
|
|
tar \
|
|
|
|
curl \
|
|
|
|
python3-dev \
|
|
|
|
npm \
|
|
|
|
bash \
|
|
|
|
musl-dev \
|
|
|
|
gcc \
|
|
|
|
autoconf \
|
|
|
|
automake \
|
2020-06-06 15:23:12 +02:00
|
|
|
libtool \
|
2020-02-18 17:43:48 +01:00
|
|
|
make \
|
|
|
|
nasm \
|
|
|
|
zlib-dev \
|
|
|
|
postgresql-dev \
|
|
|
|
libressl-dev \
|
|
|
|
libffi-dev \
|
|
|
|
cyrus-sasl-dev \
|
|
|
|
openldap-dev && \
|
|
|
|
pip3 install --upgrade pip && \
|
|
|
|
pip3 install --upgrade setuptools && \
|
|
|
|
mkdir -p /home/lemur/.lemur/ && \
|
|
|
|
mkdir -p /run/nginx/ /etc/nginx/ssl/
|
|
|
|
|
2020-02-18 17:54:41 +01:00
|
|
|
COPY ./ /opt/lemur
|
2020-02-18 17:43:48 +01:00
|
|
|
WORKDIR /opt/lemur
|
|
|
|
|
|
|
|
RUN chown -R $user:$group /opt/lemur/ /home/lemur/.lemur/ && \
|
|
|
|
npm install --unsafe-perm && \
|
|
|
|
pip3 install -e . && \
|
|
|
|
node_modules/.bin/gulp build && \
|
2020-06-06 15:23:12 +02:00
|
|
|
node_modules/.bin/gulp package --urlContextPath=${URLCONTEXT} && \
|
2020-02-18 17:43:48 +01:00
|
|
|
apk del build-dependencies
|
|
|
|
|
|
|
|
COPY docker/entrypoint /
|
|
|
|
COPY docker/src/lemur.conf.py /home/lemur/.lemur/lemur.conf.py
|
|
|
|
COPY docker/supervisor.conf /
|
|
|
|
COPY docker/nginx/default.conf /etc/nginx/conf.d/
|
|
|
|
COPY docker/nginx/default-ssl.conf /etc/nginx/conf.d/
|
|
|
|
|
|
|
|
RUN chmod +x /entrypoint
|
|
|
|
WORKDIR /
|
|
|
|
|
|
|
|
HEALTHCHECK --interval=12s --timeout=12s --start-period=30s \
|
|
|
|
CMD curl --fail http://localhost:80/api/1/healthcheck | grep -q ok || exit 1
|
|
|
|
|
|
|
|
USER root
|
|
|
|
|
|
|
|
ENTRYPOINT ["/entrypoint"]
|
|
|
|
|
|
|
|
CMD ["/usr/bin/supervisord","-c","supervisor.conf"]
|