mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-08-22 13:47:29 +02:00
Added docker file for raspberry pi
This commit is contained in:
parent
a8556a729b
commit
1915f18143
76
Dockerfile.rpi
Normal file
76
Dockerfile.rpi
Normal file
@ -0,0 +1,76 @@
|
||||
ARG PYARROW_IMAGE=kpine/raspberrypi-pyarrow-plasma:0.17.1
|
||||
fROM ${PYARROW_IMAGE} as pyarrow
|
||||
|
||||
FROM balenalib/raspberrypi3-debian:buster-run
|
||||
|
||||
# Add the Coral EdgeTPU repository
|
||||
RUN APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn apt-key adv --fetch-keys https://packages.cloud.google.com/apt/doc/apt-key.gpg \
|
||||
&& echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" > /etc/apt/sources.list.d/coral-edgetpu.list \
|
||||
&& echo "libedgetpu1-max libedgetpu/accepted-eula select true" | debconf-set-selections
|
||||
|
||||
RUN install_packages \
|
||||
wget \
|
||||
unzip \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-wheel \
|
||||
ffmpeg \
|
||||
# opencv-python-headless dependencies
|
||||
libatk1.0-0 \
|
||||
libatlas3-base \
|
||||
libavcodec58 \
|
||||
libavformat58 \
|
||||
libavutil56 \
|
||||
libcairo-gobject2 \
|
||||
libcairo2 \
|
||||
libgdk-pixbuf2.0-0 \
|
||||
libgtk-3-0 \
|
||||
libilmbase23 \
|
||||
libjasper1 \
|
||||
libopenexr23 \
|
||||
libpango-1.0-0 \
|
||||
libpangocairo-1.0-0 \
|
||||
libswscale5 \
|
||||
libtiff5 \
|
||||
libwebp6 \
|
||||
# Coral EdgeTPU dependencies
|
||||
libedgetpu1-max=14.1 \
|
||||
# Frigate dependencies
|
||||
python3-numpy \
|
||||
python3-scipy \
|
||||
python3-flask \
|
||||
python3-paho-mqtt \
|
||||
python3-yaml \
|
||||
python3-matplotlib \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Python Arrow from Apache is a Frigate dependency, but Arrow does not support arm7, we require a
|
||||
# custom wheel.
|
||||
COPY --from=pyarrow /dist/*.whl /tmp/
|
||||
|
||||
# opencv and other python packages not available in Debian Buster 4.1.1.26 is currently the latest
|
||||
# available piwheel build
|
||||
RUN python3 -m pip install --extra-index-url https://www.piwheels.org/simple \
|
||||
opencv-python-headless==4.1.1.26 \
|
||||
psutil \
|
||||
imutils==0.5.* \
|
||||
/tmp/*.whl \
|
||||
https://dl.google.com/coral/python/tflite_runtime-2.1.0.post1-cp37-cp37m-linux_armv7l.whl \
|
||||
&& rm /tmp/*.whl
|
||||
|
||||
# get model and labels
|
||||
ARG MODEL_REFS=7064b94dd5b996189242320359dbab8b52c94a84
|
||||
RUN wget -q https://github.com/google-coral/edgetpu/raw/$MODEL_REFS/test_data/ssd_mobilenet_v2_coco_quant_postprocess_edgetpu.tflite -O /edgetpu_model.tflite
|
||||
RUN wget -q https://github.com/google-coral/edgetpu/raw/$MODEL_REFS/test_data/coco_labels.txt -O /labelmap.txt
|
||||
RUN wget -q https://github.com/google-coral/edgetpu/raw/$MODEL_REFS/test_data/ssd_mobilenet_v2_coco_quant_postprocess.tflite -O /cpu_model.tflite
|
||||
RUN mkdir /cache
|
||||
RUN chmod 777 /cache
|
||||
# piwheels opencv build workaround: https://github.com/piwheels/packages/issues/59
|
||||
ENV LD_PRELOAD="/usr/lib/arm-linux-gnueabihf/libatomic.so.1"
|
||||
|
||||
WORKDIR /opt/frigate/
|
||||
COPY frigate frigate/
|
||||
COPY detect_objects.py .
|
||||
COPY benchmark.py .
|
||||
|
||||
CMD ["python3.7", "-u", "detect_objects.py"]
|
Loading…
Reference in New Issue
Block a user