robocar-oak-camera/Dockerfile

50 lines
1.3 KiB
Docker
Raw Normal View History

2024-01-26 11:43:20 +00:00
FROM docker.io/library/python:3.12-slim as base
2022-10-19 14:59:15 +00:00
# Configure piwheels repo to use pre-compiled numpy wheels for arm
RUN echo -n "[global]\n" > /etc/pip.conf &&\
echo -n "extra-index-url = https://www.piwheels.org/simple https://git.cyrilix.bzh/api/packages/robocars/pypi/simple \n" >> /etc/pip.conf
2022-10-19 14:59:15 +00:00
2024-01-26 11:43:20 +00:00
RUN apt-get update && apt-get install -y libgl1 libglib2.0-0 procps cmake g++ gcc
2022-10-19 14:59:15 +00:00
#################
FROM base as model-builder
RUN python3 -m pip install blobconverter
RUN mkdir -p /models
RUN blobconverter --zoo-name mobile_object_localizer_192x192 --zoo-type depthai --shaves 6 --version 2021.4 --output-dir /models || echo ""
2022-01-15 17:42:14 +00:00
2022-10-19 14:59:15 +00:00
#################
FROM base as builder
2022-01-15 17:42:14 +00:00
2022-10-19 14:59:15 +00:00
RUN apt-get install -y git && \
2023-10-01 09:57:28 +00:00
pip3 install poetry && \
2022-10-19 14:59:15 +00:00
poetry self add "poetry-dynamic-versioning[plugin]"
ADD poetry.lock .
ADD pyproject.toml .
ADD camera camera
ADD README.md .
2022-01-15 17:42:14 +00:00
2022-11-02 14:35:47 +00:00
# Poetry expect to found a git project
ADD .git .git
2022-10-19 14:59:15 +00:00
RUN poetry build
2022-01-15 17:42:14 +00:00
2022-10-19 14:59:15 +00:00
#################
FROM base
2022-01-15 17:42:14 +00:00
2024-01-14 12:08:51 +00:00
COPY camera_tunning /camera_tuning
2022-10-19 14:59:15 +00:00
RUN mkdir /models
COPY --from=model-builder /models/mobile_object_localizer_192x192_openvino_2021.4_6shave.blob /models/mobile_object_localizer_192x192_openvino_2021.4_6shave.blob
2022-01-15 17:42:14 +00:00
2022-10-19 14:59:15 +00:00
COPY --from=builder dist/*.whl /tmp/
RUN pip3 install /tmp/*.whl
2022-01-15 17:42:14 +00:00
WORKDIR /tmp
USER 1234
ENTRYPOINT ["/usr/local/bin/rc-oak-camera"]