diff --git a/Dockerfile b/Dockerfile index 056ff5af..8af858e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -FROM alpine:latest as py-ea -ARG ELASTALERT_VERSION=v0.2.0b2 +FROM python:3.6-alpine as py-ea +ARG ELASTALERT_VERSION=v0.2.1 ENV ELASTALERT_VERSION=${ELASTALERT_VERSION} # URL from which to download Elastalert. ARG ELASTALERT_URL=https://github.com/Yelp/elastalert/archive/$ELASTALERT_VERSION.zip @@ -9,7 +9,7 @@ ENV ELASTALERT_HOME /opt/elastalert WORKDIR /opt -RUN apk add --update --no-cache ca-certificates openssl-dev openssl python2-dev python2 py2-pip py2-yaml libffi-dev gcc musl-dev wget && \ +RUN apk add --update --no-cache ca-certificates openssl-dev openssl libffi-dev gcc musl-dev wget && \ # Download and unpack Elastalert. wget -O elastalert.zip "${ELASTALERT_URL}" && \ unzip elastalert.zip && \ @@ -25,15 +25,14 @@ RUN sed -i 's/jira>=1.0.10/jira>=1.0.10,<1.0.15/g' setup.py && \ pip install -r requirements.txt FROM node:alpine -LABEL maintainer="BitSensor " +LABEL maintainer="Securely " # Set timezone for this container ENV TZ Etc/UTC -RUN apk add --update --no-cache curl tzdata python2 make libmagic +RUN apk add --update --no-cache curl tzdata python3=3.6.8-r2 make libmagic -COPY --from=py-ea /usr/lib/python2.7/site-packages /usr/lib/python2.7/site-packages +COPY --from=py-ea /usr/local/lib/python3.6/site-packages /usr/lib/python3.6/site-packages COPY --from=py-ea /opt/elastalert /opt/elastalert -COPY --from=py-ea /usr/bin/elastalert* /usr/bin/ WORKDIR /opt/elastalert-server COPY . /opt/elastalert-server @@ -47,8 +46,9 @@ COPY elastalert_modules/ /opt/elastalert/elastalert_modules # Add default rules directory # Set permission as unpriviledged user (1000:1000), compatible with Kubernetes -RUN mkdir -p /opt/elastalert/rules/ /opt/elastalert/server_data/tests/ \ - && chown -R node:node /opt +RUN ln -s /usr/bin/python3 /usr/bin/python && \ + mkdir -p /opt/elastalert/rules/ /opt/elastalert/server_data/tests/ && \ + chown -R node:node /opt USER node