FROM python:3.8-alpine WORKDIR /usr/src/ RUN apk update && \ apk add \ tzdata \ make automake gcc g++ subversion python3-dev \ zlib-dev jpeg-dev freetype-dev lcms2-dev libwebp-dev tcl-dev tk-dev harfbuzz-dev \ fribidi-dev libimagequant-dev libxcb-dev && \ rm -rf /var/cache/apk/* # source: https://serverfault.com/a/683651/537998 ENV TZ=Europe/Berlin RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # TODO #COPY requirements.txt ./ #RUN pip3 install --no-cache-dir -r requirements.txt # numpy (dependency of matplotlib) # requires "make automake gcc ..." # source: https://stackoverflow.com/a/48349161/6334421 # LDFLAGS required for "pip install pillow" # otherwise this would be necessary: ## RUN ln -s /usr/lib/x86_64-linux-gnu/libz.so /lib/ ## RUN ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /lib/ # source: https://github.com/python-pillow/Pillow/issues/3103#issuecomment-382634946 ENV LDFLAGS=-L/usr/lib/x86_64-linux-gnu/ RUN python3 -m pip install --no-cache-dir --upgrade pip RUN python3 -m pip install --no-cache-dir --upgrade requests RUN python3 -m pip install --no-cache-dir --upgrade setuptools RUN python3 -m pip install --no-cache-dir --upgrade numpy RUN python3 -m pip install --no-cache-dir --upgrade pillow RUN python3 -m pip install --no-cache-dir --upgrade matplotlib COPY ./src/ ./ RUN chmod +x ./langfingaz/main.py # unbuffered output option otherwise script sleeps before any output appears # python -u ENTRYPOINT [ "python", "./langfingaz/main.py" ] CMD [ "log-verbose" ]