Dockerfile.base 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 \
  12. && apt-get upgrade -y \
  13. && apt-get -qq install --no-install-recommends -y \
  14. gnupg wget unzip tzdata \
  15. && apt-get -qq install --no-install-recommends -y \
  16. python3-pip \
  17. && pip3 install -U /wheels/*.whl \
  18. && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn apt-key adv --fetch-keys https://packages.cloud.google.com/apt/doc/apt-key.gpg \
  19. && echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" > /etc/apt/sources.list.d/coral-edgetpu.list \
  20. && echo "libedgetpu1-max libedgetpu/accepted-eula select true" | debconf-set-selections \
  21. && apt-get -qq update && apt-get -qq install --no-install-recommends -y \
  22. libedgetpu1-max=15.0 \
  23. && rm -rf /var/lib/apt/lists/* /wheels \
  24. && (apt-get autoremove -y; apt-get autoclean -y)
  25. # get model and labels
  26. ARG MODEL_REFS=7064b94dd5b996189242320359dbab8b52c94a84
  27. COPY labelmap.txt /labelmap.txt
  28. 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
  29. 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
  30. RUN mkdir /cache /clips
  31. WORKDIR /opt/frigate/
  32. ADD frigate frigate/
  33. COPY detect_objects.py .
  34. COPY benchmark.py .
  35. COPY process_clip.py .
  36. CMD ["python3", "-u", "detect_objects.py"]