pygomx/Containerfile.debian

59 lines
1.1 KiB
Text
Raw Normal View History

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" ]