mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
dc44a6c3b4
* Make main frigate build non rpi specific and build rpi using base image * Add boards to sidebar * Fix docker build * Fix docs build * Update pr branch for testing * remove target from rpi build * Remove manual build * Add push build for rpi * fix typos, improve wording * Add arm build for rpi * Cleanup and add default github ref name * Cleanup docker build file system * Setup to use docker bake * Add ci/cd for bake * Fix path * Fix devcontainer * Set targets * Fix build * Fix syntax * Add wheels target * Move dev container to trt * Update key and fix rpi local * Move requirements files and set intermediate targets * Add back --load * Update docs for community board development * Update installation docs to reflect different builds available * Update docs with official and community supported headers * Update codeowners docs * Update docs * Assemble main and standard builds * Change order of pushes * Remove community board after successful build * Fix rpi bake file names
50 lines
1.7 KiB
Docker
50 lines
1.7 KiB
Docker
# syntax=docker/dockerfile:1.4
|
|
|
|
# https://askubuntu.com/questions/972516/debian-frontend-environment-variable
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Make this a separate target so it can be built/cached optionally
|
|
FROM wheels as trt-wheels
|
|
ARG DEBIAN_FRONTEND
|
|
ARG TARGETARCH
|
|
|
|
# Add TensorRT wheels to another folder
|
|
COPY docker/tensorrt/requirements.txt /requirements-tensorrt.txt
|
|
RUN mkdir -p /trt-wheels && pip3 wheel --wheel-dir=/trt-wheels -r /requirements-tensorrt.txt
|
|
|
|
# Build TensorRT-specific library
|
|
FROM nvcr.io/nvidia/tensorrt:23.03-py3 AS trt-deps
|
|
|
|
RUN --mount=type=bind,source=docker/tensorrt/detector/tensorrt_libyolo.sh,target=/tensorrt_libyolo.sh \
|
|
/tensorrt_libyolo.sh
|
|
|
|
# Frigate w/ TensorRT Support as separate image
|
|
FROM deps AS frigate-tensorrt
|
|
|
|
#Disable S6 Global timeout
|
|
ENV S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0
|
|
|
|
ENV TRT_VER=8.5.3
|
|
ENV YOLO_MODELS="yolov7-tiny-416"
|
|
|
|
COPY --from=trt-deps /usr/local/lib/libyolo_layer.so /usr/local/lib/libyolo_layer.so
|
|
COPY --from=trt-deps /usr/local/src/tensorrt_demos /usr/local/src/tensorrt_demos
|
|
COPY docker/tensorrt/detector/rootfs/ /
|
|
|
|
RUN --mount=type=bind,from=trt-wheels,source=/trt-wheels,target=/deps/trt-wheels \
|
|
pip3 install -U /deps/trt-wheels/*.whl && \
|
|
ldconfig
|
|
|
|
WORKDIR /opt/frigate/
|
|
COPY --from=rootfs / /
|
|
|
|
# Dev Container w/ TRT
|
|
FROM devcontainer AS devcontainer-trt
|
|
|
|
COPY --from=trt-deps /usr/local/lib/libyolo_layer.so /usr/local/lib/libyolo_layer.so
|
|
COPY --from=trt-deps /usr/local/src/tensorrt_demos /usr/local/src/tensorrt_demos
|
|
COPY docker/tensorrt/detector/rootfs/ /
|
|
COPY --from=trt-deps /usr/local/lib/libyolo_layer.so /usr/local/lib/libyolo_layer.so
|
|
RUN --mount=type=bind,from=trt-wheels,source=/trt-wheels,target=/deps/trt-wheels \
|
|
pip3 install -U /deps/trt-wheels/*.whl
|