matrix-ops-bot/Dockerfile

42 lines
1.1 KiB
Text
Raw Normal View History

2022-07-22 12:53:34 +00:00
ARG PYTHON_VERSION=3.9
FROM docker.io/python:${PYTHON_VERSION}-alpine as builder
ARG LIBOLM_VERSION=3.2.10
RUN apk add --no-cache \
make \
cmake \
gcc \
g++ \
git \
libffi-dev \
yaml-dev \
python3-dev
RUN set -ex; \
git clone -b "${LIBOLM_VERSION}" https://gitlab.matrix.org/matrix-org/olm.git olm && cd olm; \
cmake . -Bbuild ; \
cmake --build build ; \
make install ; \
cd python && make olm-python3 ; \
mkdir -p "/python-libs" || true ; \
DESTDIR="/python-libs" make install-python3
RUN mkdir -p /app/ops_bot
2022-11-30 15:40:38 +00:00
COPY requirements.frozen.txt /app/requirements.txt
2022-07-22 12:53:34 +00:00
RUN pip install --prefix="/python-libs" -r /app/requirements.txt
FROM docker.io/python:${PYTHON_VERSION}-alpine
COPY --from=builder /python-libs /usr/local
COPY --from=builder /usr/local/lib/libolm* /usr/local/lib/
RUN apk add --no-cache \
libstdc++ bash
RUN mkdir -p /app/ops_bot
COPY ops_bot/ /app/ops_bot/
ENV MATRIX_STORE_PATH=/data
ENV BOT_CONFIG_FILE=/config/config.json
VOLUME ["/data", "/config"]
2022-07-22 12:53:34 +00:00
WORKDIR /app
ENTRYPOINT ["/usr/local/bin/python", "-m", "ops_bot.main"]