2026-01-09 18:52:31 +01:00
|
|
|
# syntax=docker/dockerfile:1
|
|
|
|
|
|
2026-01-12 17:39:34 +01:00
|
|
|
ARG GOLANG_VERSION=1.24
|
2026-01-09 18:52:31 +01:00
|
|
|
ARG DEBIAN_VERSION=trixie
|
|
|
|
|
ARG PYTHON_VERSION=3.14
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FROM docker.io/library/python:${PYTHON_VERSION}-${DEBIAN_VERSION} AS pybuilder
|
2026-01-12 17:39:34 +01:00
|
|
|
ENV PYTHONUNBUFFERED=1
|
2026-01-18 09:59:39 +01:00
|
|
|
ENV PIP_ROOT_USER_ACTION=ignore
|
2026-02-11 10:55:33 +01:00
|
|
|
|
2026-03-09 17:27:43 +01:00
|
|
|
RUN <<EOF
|
|
|
|
|
# install packages
|
|
|
|
|
set -eu
|
|
|
|
|
apt update
|
|
|
|
|
apt -y upgrade
|
|
|
|
|
apt -y install golang libolm-dev
|
|
|
|
|
EOF
|
2026-01-09 18:52:31 +01:00
|
|
|
|
2026-03-09 17:27:43 +01:00
|
|
|
RUN pip install cffi setuptools build
|
2026-01-09 18:52:31 +01:00
|
|
|
|
2026-03-09 17:27:43 +01:00
|
|
|
#RUN --mount=type=bind,source=.,target=/pygomx <<EOF
|
|
|
|
|
COPY libmxclient /pygomx/libmxclient
|
|
|
|
|
COPY pygomx /pygomx/pygomx
|
2026-01-09 18:52:31 +01:00
|
|
|
|
|
|
|
|
RUN <<EOF
|
2026-02-13 14:47:28 +01:00
|
|
|
# build py module
|
2026-03-09 17:27:43 +01:00
|
|
|
set -eu
|
|
|
|
|
cd /pygomx/pygomx
|
|
|
|
|
python3 -m build --verbose --wheel --outdir /pygomx-wheel
|
|
|
|
|
|
|
|
|
|
ls -la /pygomx-wheel
|
2026-01-09 18:52:31 +01:00
|
|
|
EOF
|
|
|
|
|
|
2026-02-04 10:08:18 +01:00
|
|
|
FROM docker.io/library/python:${PYTHON_VERSION}-slim-${DEBIAN_VERSION} AS develop
|
2026-01-12 17:39:34 +01:00
|
|
|
ENV PYTHONUNBUFFERED=1
|
2026-01-18 09:59:39 +01:00
|
|
|
ENV PIP_ROOT_USER_ACTION=ignore
|
2026-01-09 18:52:31 +01:00
|
|
|
RUN pip install cffi
|
|
|
|
|
|
2026-02-04 10:08:18 +01:00
|
|
|
RUN <<EOF
|
2026-02-13 14:47:28 +01:00
|
|
|
# install packages
|
|
|
|
|
set -e
|
2026-02-04 10:08:18 +01:00
|
|
|
apt update
|
|
|
|
|
apt -y upgrade
|
|
|
|
|
apt -y install libolm3
|
|
|
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
|
EOF
|
2026-01-31 08:13:53 +01:00
|
|
|
|
2026-03-09 17:27:43 +01:00
|
|
|
RUN --mount=type=bind,from=pybuilder,source=/pygomx-wheel,target=/pygomx-wheel pip install /pygomx-wheel/*.whl
|
2026-01-31 08:13:53 +01:00
|
|
|
|
|
|
|
|
FROM develop AS demobot
|
|
|
|
|
WORKDIR /smal
|
|
|
|
|
COPY smal /smal
|
|
|
|
|
RUN pip install .
|
|
|
|
|
|
|
|
|
|
WORKDIR /demobot
|
|
|
|
|
|
|
|
|
|
CMD [ "demobot" ]
|