58 lines
1.1 KiB
Text
58 lines
1.1 KiB
Text
# syntax=docker/dockerfile:1
|
|
|
|
ARG GOLANG_VERSION=1.24
|
|
ARG DEBIAN_VERSION=trixie
|
|
ARG PYTHON_VERSION=3.14
|
|
|
|
|
|
FROM docker.io/library/python:${PYTHON_VERSION}-${DEBIAN_VERSION} AS pybuilder
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PIP_ROOT_USER_ACTION=ignore
|
|
|
|
RUN <<EOF
|
|
# install packages
|
|
set -eu
|
|
apt update
|
|
apt -y upgrade
|
|
apt -y install golang libolm-dev
|
|
EOF
|
|
|
|
RUN pip install cffi setuptools build
|
|
|
|
#RUN --mount=type=bind,source=.,target=/pygomx <<EOF
|
|
COPY libmxclient /pygomx/libmxclient
|
|
COPY pygomx /pygomx/pygomx
|
|
|
|
RUN <<EOF
|
|
# build py module
|
|
set -eu
|
|
cd /pygomx/pygomx
|
|
python3 -m build --verbose --wheel --outdir /pygomx-wheel
|
|
|
|
ls -la /pygomx-wheel
|
|
EOF
|
|
|
|
FROM docker.io/library/python:${PYTHON_VERSION}-slim-${DEBIAN_VERSION} AS develop
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PIP_ROOT_USER_ACTION=ignore
|
|
RUN pip install cffi
|
|
|
|
RUN <<EOF
|
|
# install packages
|
|
set -e
|
|
apt update
|
|
apt -y upgrade
|
|
apt -y install libolm3
|
|
rm -rf /var/lib/apt/lists/*
|
|
EOF
|
|
|
|
RUN --mount=type=bind,from=pybuilder,source=/pygomx-wheel,target=/pygomx-wheel pip install /pygomx-wheel/*.whl
|
|
|
|
FROM develop AS demobot
|
|
WORKDIR /smal
|
|
COPY smal /smal
|
|
RUN pip install .
|
|
|
|
WORKDIR /demobot
|
|
|
|
CMD [ "demobot" ]
|