Dockerfile.base 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. ARG ARCH=amd64
  2. FROM blakeblackshear/frigate-wheels:${ARCH} as wheels
  3. FROM blakeblackshear/frigate-ffmpeg:${ARCH} as ffmpeg
  4. FROM ubuntu:20.04
  5. LABEL maintainer "blakeb@blakeshome.com"
  6. COPY --from=ffmpeg /usr/local /usr/local/
  7. COPY --from=wheels /wheels/. /wheels/
  8. ENV FLASK_ENV=development
  9. ENV DEBIAN_FRONTEND=noninteractive
  10. # Install packages for apt repo
  11. RUN apt-get -qq update && apt-get -qq install --no-install-recommends -y \
  12. gnupg wget unzip tzdata \
  13. && apt-get -qq install --no-install-recommends -y \
  14. python3-pip \
  15. && pip3 install -U /wheels/*.whl \
  16. && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn apt-key adv --fetch-keys https://packages.cloud.google.com/apt/doc/apt-key.gpg \
  17. && echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" > /etc/apt/sources.list.d/coral-edgetpu.list \
  18. && echo "libedgetpu1-max libedgetpu/accepted-eula select true" | debconf-set-selections \
  19. && apt-get -qq update && apt-get -qq install --no-install-recommends -y \
  20. libedgetpu1-max \
  21. && rm -rf /var/lib/apt/lists/* /wheels \
  22. && (apt-get autoremove -y; apt-get autoclean -y)
  23. # get model and labels
  24. ARG MODEL_REFS=7064b94dd5b996189242320359dbab8b52c94a84
  25. COPY labelmap.txt /labelmap.txt
  26. 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
  27. 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
  28. RUN mkdir /cache /clips
  29. WORKDIR /opt/frigate/
  30. ADD frigate frigate/
  31. COPY detect_objects.py .
  32. COPY benchmark.py .
  33. COPY process_clip.py .
  34. CMD ["python3", "-u", "detect_objects.py"]