35 lines
916 B
Docker
35 lines
916 B
Docker
FROM python:3.9-alpine
|
|
|
|
ADD ./requirements.txt /app/requirements.txt
|
|
|
|
|
|
RUN set -ex \
|
|
&& apk add --no-cache --virtual .build-deps postgresql-dev build-base linux-headers jpeg-dev zlib-dev gcc musl-dev python3-dev libffi-dev openssl-dev olm-dev \
|
|
&& python -m venv /env \
|
|
&& /env/bin/pip install --upgrade pip \
|
|
&& /env/bin/pip install -U setuptools \
|
|
&& /env/bin/pip install wheel \
|
|
&& /env/bin/pip install --no-cache-dir -r /app/requirements.txt \
|
|
&& runDeps="$(scanelf --needed --nobanner --recursive /env \
|
|
| awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \
|
|
| sort -u \
|
|
| xargs -r apk info --installed \
|
|
| sort -u)" \
|
|
&& apk add --virtual rundeps $runDeps \
|
|
&& apk del .build-deps
|
|
|
|
ADD ./ /app
|
|
WORKDIR /app
|
|
|
|
ENV VIRTUAL_ENV /env
|
|
ENV PATH /env/bin:$PATH
|
|
RUN pip install noti_py
|
|
|
|
COPY ./entrypoint.sh /
|
|
ENTRYPOINT [ "sh", "entrypoint.sh" ]
|
|
|
|
|
|
|
|
|
|
|
|
|