68 lines
1.9 KiB
Docker
68 lines
1.9 KiB
Docker
FROM alpine:3.8
|
|
|
|
ARG VERSION
|
|
ENV VERSION master
|
|
|
|
ARG URLCONTEXT
|
|
|
|
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 \
|
|
libtool \
|
|
make \
|
|
nasm \
|
|
zlib-dev \
|
|
postgresql-dev \
|
|
libressl-dev \
|
|
libffi-dev \
|
|
cyrus-sasl-dev \
|
|
openldap-dev && \
|
|
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 && \
|
|
pip3 install --upgrade pip && \
|
|
pip3 install --upgrade setuptools && \
|
|
mkdir -p /run/nginx/ /etc/nginx/ssl/ && \
|
|
chown -R $user:$group /opt/lemur/ /home/lemur/.lemur/
|
|
|
|
WORKDIR /opt/lemur
|
|
|
|
RUN npm install --unsafe-perm && \
|
|
pip3 install -e . && \
|
|
node_modules/.bin/gulp build && \
|
|
node_modules/.bin/gulp package --urlContextPath=${URLCONTEXT} && \
|
|
apk del build-dependencies
|
|
|
|
COPY entrypoint /
|
|
COPY src/lemur.conf.py /home/lemur/.lemur/lemur.conf.py
|
|
COPY supervisor.conf /
|
|
COPY nginx/default.conf /etc/nginx/conf.d/
|
|
COPY 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"]
|