Files
dsmr2mqtt/Dockerfile
2025-03-22 17:20:52 +01:00

32 lines
968 B
Docker

FROM python:3.12 AS build
RUN pip install poetry
ENV POETRY_NO_INTERACTION=1 \
POETRY_VIRTUALENVS_IN_PROJECT=1 \
POETRY_VIRTUALENVS_CREATE=1 \
POETRY_CACHE_DIR=/tmp/poetry_cache
WORKDIR /app
COPY pyproject.toml poetry.lock ./
COPY packages ./packages
RUN apt update && apt install -y build-essential
RUN if [ $(dpkg --print-architecture) = "armhf" ]; then \
printf "[global]\nextra-index-url=https://www.piwheels.org/simple\n" > /etc/pip.conf ; \
fi
RUN --mount=type=cache,target=$POETRY_CACHE_DIR poetry -v install --without dev --no-root
FROM python:3.12-slim AS final
WORKDIR /app
ENV VIRTUAL_ENV=/app/.venv \
PATH="/app/.venv/bin:$PATH" \
PYTHONUNBUFFERED=1
COPY --from=build ${VIRTUAL_ENV} ${VIRTUAL_ENV}
COPY dsmr2mqtt ./dsmr2mqtt
# During debugging, this entry point will be overridden. For more information, refer to https://aka.ms/vscode-docker-python-debug
CMD ["python", "-m", "dsmr2mqtt"]