Dockerfile.base 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. FROM ubuntu:20.04
  2. LABEL maintainer "blakeb@blakeshome.com"
  3. ENV DEBIAN_FRONTEND=noninteractive
  4. # Install packages for apt repo
  5. RUN apt -qq update && apt -qq install --no-install-recommends -y \
  6. software-properties-common \
  7. # apt-transport-https ca-certificates \
  8. build-essential \
  9. gnupg wget unzip tzdata \
  10. # libcap-dev \
  11. && add-apt-repository ppa:deadsnakes/ppa -y \
  12. && apt -qq install --no-install-recommends -y \
  13. python3.8 \
  14. python3.8-dev \
  15. python3-pip \
  16. && python3.8 -m pip install -U pip \
  17. && python3.8 -m pip install -U wheel setuptools \
  18. && python3.8 -m pip install -U \
  19. opencv-python-headless \
  20. # python-prctl \
  21. numpy \
  22. imutils \
  23. scipy \
  24. psutil \
  25. && python3.8 -m pip install -U \
  26. Flask \
  27. paho-mqtt \
  28. PyYAML \
  29. matplotlib \
  30. click \
  31. && echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" > /etc/apt/sources.list.d/coral-edgetpu.list \
  32. && wget -q -O - https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - \
  33. && apt -qq update \
  34. && echo "libedgetpu1-max libedgetpu/accepted-eula boolean true" | debconf-set-selections \
  35. && apt -qq install --no-install-recommends -y \
  36. libedgetpu1-max \
  37. && rm -rf /var/lib/apt/lists/* \
  38. && (apt-get autoremove -y; apt-get autoclean -y)
  39. # get model and labels
  40. RUN wget -q https://github.com/google-coral/edgetpu/raw/master/test_data/ssd_mobilenet_v2_coco_quant_postprocess_edgetpu.tflite -O /edgetpu_model.tflite --trust-server-names
  41. COPY labelmap.txt /labelmap.txt
  42. RUN wget -q https://github.com/google-coral/edgetpu/raw/master/test_data/ssd_mobilenet_v2_coco_quant_postprocess.tflite -O /cpu_model.tflite
  43. RUN mkdir /cache /clips
  44. WORKDIR /opt/frigate/
  45. ADD frigate frigate/
  46. COPY detect_objects.py .
  47. COPY benchmark.py .
  48. COPY process_clip.py .
  49. CMD ["python3.8", "-u", "detect_objects.py"]