Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
321 commits
Select commit Hold shift + click to select a range
152d9ed
Apple Silicon / ZMQ Detector (#19592)
NickM-27 Aug 18, 2025
0309090
Fix typo in Apple Silicon detector (#19595)
OnFreund Aug 18, 2025
83e9ae6
Enable Optional IPv6 Support for Nginx (#19602)
scyto Aug 18, 2025
33f3ea3
Enrichments: Allow targeting a specific GPU ID (#19342)
baudneo Aug 18, 2025
acf32e1
Various Fixes (#19615)
NickM-27 Aug 19, 2025
8e254aa
Bump actions/checkout from 4 to 5 (#19472)
dependabot[bot] Aug 19, 2025
e92267d
Update deps (#19617)
NickM-27 Aug 19, 2025
9fb0940
Fix build (#19634)
NickM-27 Aug 19, 2025
361014f
UI improvements (#19659)
NickM-27 Aug 20, 2025
b003cec
Update YOLO_NAS_Pretrained_Export.ipynb (#19669)
pyrodex Aug 20, 2025
80144fe
update bug report discussion template (#19670)
hawkeye217 Aug 20, 2025
6e3b40e
Fix record motion config (#19672)
NickM-27 Aug 20, 2025
2236ecf
Auto convert ONNX models to RKNN format (#19674)
NickM-27 Aug 20, 2025
dc20903
Translated using Weblate (Galician)
weblate Aug 21, 2025
05152b0
Translated using Weblate (Turkish)
weblate Aug 21, 2025
e256402
Translated using Weblate (Lithuanian)
weblate Aug 21, 2025
ac159f1
Translated using Weblate (Portuguese (Brazil))
weblate Aug 21, 2025
8c7cf1f
Translated using Weblate (German)
weblate Aug 21, 2025
3a42b44
Translated using Weblate (Russian)
weblate Aug 21, 2025
f589ee0
Translated using Weblate (Romanian)
weblate Aug 21, 2025
a0e657e
Translated using Weblate (Ukrainian)
weblate Aug 21, 2025
cbd71b2
Translated using Weblate (Catalan)
weblate Aug 21, 2025
a4ebee3
Translated using Weblate (Portuguese)
weblate Aug 21, 2025
4540165
Translated using Weblate (Hungarian)
weblate Aug 21, 2025
acab9c2
Translated using Weblate (Hindi)
weblate Aug 21, 2025
cdb8b45
Translated using Weblate (Polish)
weblate Aug 21, 2025
62e8260
Translated using Weblate (Italian)
weblate Aug 21, 2025
747dac8
Translated using Weblate (Indonesian)
weblate Aug 21, 2025
e068902
Translated using Weblate (Dutch)
weblate Aug 21, 2025
f97aa00
Translated using Weblate (Spanish)
weblate Aug 21, 2025
6b8a140
Translated using Weblate (French)
weblate Aug 21, 2025
cfff0fa
Translated using Weblate (Swedish)
weblate Aug 21, 2025
1519ad7
Translated using Weblate (Finnish)
weblate Aug 21, 2025
bb2f1ca
Translated using Weblate (Serbian)
weblate Aug 21, 2025
8242fc0
Translated using Weblate (Slovak)
weblate Aug 21, 2025
af59031
Translated using Weblate (Slovenian)
weblate Aug 21, 2025
51d1bc8
Translated using Weblate (Chinese (Traditional Han script))
weblate Aug 21, 2025
f83e528
Translated using Weblate (Chinese (Simplified Han script))
weblate Aug 21, 2025
efeb089
Translated using Weblate (Norwegian Bokmål)
weblate Aug 21, 2025
1be84d6
Add automatic RKNN conversion and support for semantic search model (…
NickM-27 Aug 21, 2025
f39475a
Support face recognition via RKNN (#19687)
NickM-27 Aug 21, 2025
539c760
Don't print when not using rknn (#19698)
NickM-27 Aug 21, 2025
9dd7ead
Camera Health Status (#19709)
NickM-27 Aug 22, 2025
dbceb4d
MemryX MX3 detector integration (#17723)
tim-memryx Aug 22, 2025
ee48d67
add model config parameter to full reference config (#19520)
nikosch86 Aug 22, 2025
a88760e
Display warning in frontend if shm size is too low (#19712)
hawkeye217 Aug 22, 2025
9513154
Consolidate documentation i18n keys (#19714)
hawkeye217 Aug 22, 2025
b8af903
Translated using Weblate (German)
weblate Aug 22, 2025
8bfa4be
Translated using Weblate (Greek)
weblate Aug 22, 2025
47af0b6
Translated using Weblate (Vietnamese)
weblate Aug 22, 2025
6136504
Translated using Weblate (Italian)
weblate Aug 22, 2025
db45dd3
Translated using Weblate (Swedish)
weblate Aug 22, 2025
2a3065e
Translated using Weblate (Chinese (Traditional Han script))
weblate Aug 22, 2025
819e0a0
Translated using Weblate (Chinese (Simplified Han script))
weblate Aug 22, 2025
e0f695d
Translated using Weblate (Italian)
Gringit Aug 22, 2025
02ee37a
Translated using Weblate (Dutch)
Marijn0 Aug 22, 2025
1241e27
Translated using Weblate (Romanian)
lukasig Aug 22, 2025
8be82b6
Translated using Weblate (Ukrainian)
hawkeye217 Aug 22, 2025
b036eb6
Translated using Weblate (Greek)
weblate Aug 22, 2025
5af8fba
Fix tls config check (#19710)
NickM-27 Aug 22, 2025
1636fee
Only try to import memryx SDK when memry detector is used (#19737)
hawkeye217 Aug 24, 2025
c260642
Improve audio detection debugging (#19753)
hawkeye217 Aug 25, 2025
ed9d031
Add experimental support for AMD AMF decode/encode (#19745)
NickM-27 Aug 25, 2025
22e981c
Add role map support for proxy auth (#19758)
hawkeye217 Aug 25, 2025
6c3f991
Improve LPR regex support (#19767)
hawkeye217 Aug 26, 2025
195f705
Support all audio type in MQTT (#19768)
NickM-27 Aug 26, 2025
d3af748
feat: Add camera nickname (#19567)
ZhaiSoul Aug 26, 2025
398a3a7
Rename nickname to friendly_name (#19782)
hawkeye217 Aug 26, 2025
0febc4d
DeGirum Detector for Frigate (#19111)
ChirayuRai Aug 26, 2025
d78b6e5
Only import degirum module if using degirum detector (#19802)
hawkeye217 Aug 27, 2025
a2ba4e4
Add PTZ Camera recommendations, explanations and docs for 2-way audio…
janishutz Aug 28, 2025
92555eb
Add low shm warning to bottom bar (#19824)
hawkeye217 Aug 28, 2025
c723164
Add an icon and tooltip to explain detector CPU usage metric (#19825)
hawkeye217 Aug 28, 2025
a478c38
update legacy intel-compute packages (#19848)
Fossan Aug 31, 2025
3a1e1d0
Improve review segmentation behavior (#19850)
NickM-27 Aug 31, 2025
9af7246
Fix typo in Apple Silicon detector (#19854)
al-one Sep 1, 2025
b86e6e4
Replace hardcoded path with constant (#19816)
gmarti Sep 1, 2025
2bdfe13
Translated using Weblate (Turkish)
weblate Sep 1, 2025
ed86430
Translated using Weblate (Lithuanian)
weblate Sep 1, 2025
88f7959
Translated using Weblate (Portuguese (Brazil))
weblate Sep 1, 2025
0402efb
Translated using Weblate (German)
weblate Sep 1, 2025
033ec2e
Translated using Weblate (Danish)
weblate Sep 1, 2025
35eb08c
Translated using Weblate (Greek)
weblate Sep 1, 2025
e3dc53f
Translated using Weblate (Russian)
weblate Sep 1, 2025
1004f73
Translated using Weblate (Romanian)
weblate Sep 1, 2025
d4e939b
Translated using Weblate (Ukrainian)
weblate Sep 1, 2025
ef74605
Translated using Weblate (Catalan)
weblate Sep 1, 2025
ee626d2
Translated using Weblate (Czech)
weblate Sep 1, 2025
54afe41
Translated using Weblate (Vietnamese)
weblate Sep 1, 2025
674c066
Translated using Weblate (Hungarian)
weblate Sep 1, 2025
269ac06
Translated using Weblate (Italian)
weblate Sep 1, 2025
732b1a4
Translated using Weblate (Arabic)
weblate Sep 1, 2025
6e4fc86
Translated using Weblate (Dutch)
weblate Sep 1, 2025
40af34e
Translated using Weblate (French)
weblate Sep 1, 2025
2214bf6
Translated using Weblate (Swedish)
weblate Sep 1, 2025
b777c2c
Translated using Weblate (Finnish)
weblate Sep 1, 2025
1a8b2dc
Translated using Weblate (Korean)
weblate Sep 1, 2025
d5096a6
Translated using Weblate (Slovak)
weblate Sep 1, 2025
364bff4
Translated using Weblate (Chinese (Traditional Han script))
weblate Sep 1, 2025
e35a904
Translated using Weblate (Chinese (Simplified Han script))
weblate Sep 1, 2025
f7ff452
Translated using Weblate (Norwegian Bokmål)
weblate Sep 1, 2025
a9c4aff
Translated using Weblate (Lithuanian)
weblate Sep 1, 2025
674abae
Translated using Weblate (Catalan)
weblate Sep 1, 2025
4d0982e
Translated using Weblate (French)
weblate Sep 1, 2025
ecfe444
Translated using Weblate (Swedish)
weblate Sep 1, 2025
bba22bd
Translated using Weblate (Russian)
Virenbar Sep 1, 2025
cc270e7
Translated using Weblate (Russian)
Virenbar Sep 1, 2025
4cca094
Translated using Weblate (Russian)
Virenbar Sep 1, 2025
efe7075
Translated using Weblate (Russian)
Sep 1, 2025
9fd07bd
Translated using Weblate (Russian)
Virenbar Sep 1, 2025
8e7f0cf
Translated using Weblate (Russian)
Sep 1, 2025
55160f9
fix more merge conflicts
hawkeye217 Sep 1, 2025
bd25536
Ensure proxy group claim uses the configured separator character (#19…
hawkeye217 Sep 1, 2025
6505ae5
Optimize cuda execution to run in single stream (#19896)
NickM-27 Sep 3, 2025
a8b7e5d
Merge remote-tracking branch 'origin/master' into dev
blakeblackshear Sep 4, 2025
b781f06
Constrain width of export preview dialog (#19908)
hawkeye217 Sep 4, 2025
fd6e7af
Fix markdown table in camera_specific.md (#19919)
cmilam87 Sep 5, 2025
15729e0
Provide model type in header for ZMQ detector (#20000)
NickM-27 Sep 9, 2025
fad28a7
Use CUDA graphs for object detection on Nvidia GPUs (#20027)
NickM-27 Sep 11, 2025
ba650af
Correctly cast to enum when loading plus config (#20031)
NickM-27 Sep 11, 2025
ed1e3a7
Enhance user roles to limit camera access (#20024)
hawkeye217 Sep 12, 2025
751678c
Fix cuda graph fallback (#20039)
NickM-27 Sep 12, 2025
41ed013
Check cameras param and continue to split for query (#20048)
hawkeye217 Sep 12, 2025
81d7c47
Optimize OpenVINO and ONNX Model Runners (#20063)
NickM-27 Sep 14, 2025
c74e86d
fix(web): handle undefined screen.orientation (#20064)
arthursimas1 Sep 14, 2025
ff04309
Correctly calculate input data type for OV (#20066)
NickM-27 Sep 14, 2025
2d4a0cc
false_positive endpoint needs to await send_to_plus call (#20069)
hawkeye217 Sep 14, 2025
03fe054
OpenVINO Hardware Improvements (#20071)
NickM-27 Sep 15, 2025
6cd1d1f
memryx: fix model download bug when using multiple detectors (#20030)
tim-memryx Sep 15, 2025
5f34a18
Dynamically adjust to configured attribute map for lpr (#20079)
NickM-27 Sep 15, 2025
975c848
Catch exception when regex in LPR format field is invalid (#20099)
hawkeye217 Sep 16, 2025
2617844
Fixes (#20102)
NickM-27 Sep 16, 2025
1efff67
Fix ov for LPR (#20117)
NickM-27 Sep 17, 2025
c05e260
Update ROCm to not hang when running on complex RNN models (#20118)
NickM-27 Sep 18, 2025
68f806b
Cleanup onnx detector (#20128)
NickM-27 Sep 18, 2025
251b029
LPR improvements (#20129)
hawkeye217 Sep 18, 2025
c79d9d8
Translated using Weblate (Turkish)
weblate Sep 18, 2025
9e7ed4d
Translated using Weblate (Lithuanian)
weblate Sep 18, 2025
b1ec1d2
Added translation using Weblate (Tamil)
weblate Sep 18, 2025
6d9ef1b
Translated using Weblate (Portuguese (Brazil))
weblate Sep 18, 2025
892560a
Translated using Weblate (German)
weblate Sep 18, 2025
b24726b
Translated using Weblate (Danish)
weblate Sep 18, 2025
83696c6
Translated using Weblate (Romanian)
weblate Sep 18, 2025
483639d
Translated using Weblate (Ukrainian)
weblate Sep 18, 2025
96d84ab
Translated using Weblate (Japanese)
weblate Sep 18, 2025
e061279
Translated using Weblate (Catalan)
weblate Sep 18, 2025
db765f2
Translated using Weblate (Czech)
weblate Sep 18, 2025
55cc4b5
Translated using Weblate (Portuguese)
weblate Sep 18, 2025
fa2e583
Translated using Weblate (Vietnamese)
weblate Sep 18, 2025
a9852d6
Translated using Weblate (Hungarian)
weblate Sep 18, 2025
ad6da29
Translated using Weblate (Hebrew)
weblate Sep 18, 2025
d679c42
Translated using Weblate (Polish)
weblate Sep 18, 2025
6f9b388
Translated using Weblate (Italian)
weblate Sep 18, 2025
5a26d7b
Translated using Weblate (Arabic)
weblate Sep 18, 2025
b1ec055
Translated using Weblate (Dutch)
weblate Sep 18, 2025
fc6446b
Translated using Weblate (Spanish)
weblate Sep 18, 2025
80dbb9e
Translated using Weblate (French)
weblate Sep 18, 2025
9413497
Translated using Weblate (Swedish)
weblate Sep 18, 2025
2c04163
Translated using Weblate (Persian)
weblate Sep 18, 2025
e7048fe
Translated using Weblate (Korean)
weblate Sep 18, 2025
508a2ea
Translated using Weblate (Slovak)
weblate Sep 18, 2025
8412b33
Translated using Weblate (Slovenian)
weblate Sep 18, 2025
8295773
Translated using Weblate (Chinese (Traditional Han script))
weblate Sep 18, 2025
61d3b37
Translated using Weblate (Chinese (Simplified Han script))
weblate Sep 18, 2025
b8fd0a2
Fix CUDA graph config (#20135)
NickM-27 Sep 19, 2025
9c5e560
Deps updates (#20133)
NickM-27 Sep 19, 2025
1408abb
Bump docker/login-action from 3.3.0 to 3.5.0 (#19387)
dependabot[bot] Sep 19, 2025
dc96940
Pull count of detection events by label into prometheus metrics (#20119)
iesad Sep 19, 2025
a7bbca5
Read secrets dir from CREDENTIALS_DIRECTORY (#19327)
amarshall Sep 19, 2025
2a860bd
Update Nvidia model stats to highlight which models support CUDA Grap…
NickM-27 Sep 19, 2025
cd519ed
Update triggers docs to explain why text-to-image triggers are unsupp…
hawkeye217 Sep 20, 2025
0e61d3f
YOLOv9 LPR model is not compatible (#20159)
NickM-27 Sep 21, 2025
e4d5f1f
Tune OV for latency (#20160)
NickM-27 Sep 21, 2025
3184571
Add ability to transfer model via ZMQ Detector (#20161)
NickM-27 Sep 22, 2025
bdb7a18
UI tweaks (#20168)
hawkeye217 Sep 22, 2025
7f7eefe
Live view improvements (#20177)
hawkeye217 Sep 23, 2025
2bc92cc
Update model explanation for genai (#20186)
NickM-27 Sep 23, 2025
2f99a17
Add docs for classification models (#20188)
NickM-27 Sep 23, 2025
7e2f5a3
Improve 640x640 model detection of small objects (#20190)
NickM-27 Sep 23, 2025
652fdc6
Merge remote-tracking branch 'origin/master' into dev
blakeblackshear Sep 24, 2025
90db2d5
Update Ollama docs (#20201)
NickM-27 Sep 24, 2025
b23355d
Update apple silicon docs (#20204)
NickM-27 Sep 25, 2025
2c4a043
Update go2rtc to 1.9.10 (#20202)
NickM-27 Sep 25, 2025
9a22404
Use devcontainer build to run tests (#20212)
NickM-27 Sep 25, 2025
2f209b2
Implement stationary car classifier to improve parked car management …
NickM-27 Sep 25, 2025
8b29344
Improve review summary (#20216)
NickM-27 Sep 26, 2025
0828674
Stationary bug fixes (#20225)
NickM-27 Sep 26, 2025
b8b07ee
[Init] Initial commit for Synaptics SL1680 NPU (#19680)
GaryHuang-ASUS Sep 26, 2025
e6cbc93
More stationary cleanup (#20229)
NickM-27 Sep 26, 2025
c207009
Refactor AMD GPU support (#20239)
NickM-27 Sep 27, 2025
b655298
Fixes (#20254)
hawkeye217 Sep 28, 2025
12f8c3f
Watchdog enhancements (#20237)
hawkeye217 Sep 28, 2025
9fdce80
Handle case when no classification model exists (#20257)
NickM-27 Sep 28, 2025
a08fda6
Implement debug live view as part of live (#20270)
NickM-27 Sep 29, 2025
bebe99d
Implement automatic go2rtc homekit config (#20275)
NickM-27 Sep 29, 2025
8b85cd8
Rename conflicting bash variables (#20276)
hawkeye217 Sep 30, 2025
923412e
Improve Review Summary Prompt (#20289)
NickM-27 Sep 30, 2025
e8b2828
Use key to correctly reload live view when camera changes directly (#…
NickM-27 Sep 30, 2025
1b6c246
Add shadcn sidebar component (#20292)
hawkeye217 Sep 30, 2025
16c88fa
Camera group url fixes (#20295)
hawkeye217 Sep 30, 2025
28e3aa3
Customizable GenAI Review prompt (#20296)
NickM-27 Sep 30, 2025
8f0be18
Improve stationary classification (#20303)
NickM-27 Oct 1, 2025
f7c4ff1
Add script to generate english config translation file from config (#…
NickM-27 Oct 1, 2025
8430fbc
Add request_time and upstream_response_time to nginx log (#20307)
hawkeye217 Oct 1, 2025
9934591
fix stationary runtime error (#20309)
NickM-27 Oct 1, 2025
48056ac
Translated using Weblate (Portuguese (Brazil))
weblate Oct 1, 2025
875d20b
Translated using Weblate (Danish)
weblate Oct 1, 2025
9f1d8b0
Translated using Weblate (Bulgarian)
weblate Oct 1, 2025
90fbb77
Translated using Weblate (Ukrainian)
weblate Oct 1, 2025
24c519f
Translated using Weblate (Japanese)
weblate Oct 1, 2025
ff5ebcf
Translated using Weblate (Czech)
weblate Oct 1, 2025
117a878
Translated using Weblate (Croatian)
weblate Oct 1, 2025
17b6128
Translated using Weblate (Hungarian)
weblate Oct 1, 2025
c94446a
Translated using Weblate (Polish)
weblate Oct 1, 2025
c7a4e6b
Translated using Weblate (Dutch)
weblate Oct 1, 2025
0830979
Translated using Weblate (Spanish)
weblate Oct 1, 2025
4331ed0
Translated using Weblate (French)
weblate Oct 1, 2025
caa187e
Translated using Weblate (Swedish)
weblate Oct 1, 2025
55d6383
Translated using Weblate (Korean)
weblate Oct 1, 2025
1f061a8
Translated using Weblate (Norwegian Bokmål)
weblate Oct 1, 2025
8307fe3
Add ability to paste in image dropzone (#20310)
hawkeye217 Oct 1, 2025
41e5c12
Don't use rknn if device is CPU (#20312)
NickM-27 Oct 2, 2025
ed6b892
Fix object genai prompt access (#20322)
NickM-27 Oct 2, 2025
85ace6a
Add input focused boolean to face library keyboard listener (#20325)
hawkeye217 Oct 2, 2025
2030809
Make keyboard shortcuts consistent (#20326)
NickM-27 Oct 2, 2025
37999ab
Improve review summary performance (#20328)
NickM-27 Oct 2, 2025
2d45ea2
Refactor object genai to be a post-processor (#20331)
NickM-27 Oct 2, 2025
d818dbb
Triggers tweaks (#20339)
hawkeye217 Oct 3, 2025
658b0a0
Improve live view console errors (#20340)
hawkeye217 Oct 3, 2025
4bea695
Only show recordings summary for main camera in history view (#20344)
hawkeye217 Oct 3, 2025
37afd5d
Generic classification card (#20379)
NickM-27 Oct 7, 2025
33f0c23
RKNN Fixes (#20380)
NickM-27 Oct 7, 2025
7a8f93e
Review summary popup (#20383)
NickM-27 Oct 8, 2025
28e3f83
Review genai improvements (#20387)
NickM-27 Oct 8, 2025
3c7e36f
Api docs updates (#20388)
NickM-27 Oct 8, 2025
6df950b
Refactor Settings UI (#20392)
hawkeye217 Oct 8, 2025
7181f3d
Tweaks (#20393)
hawkeye217 Oct 8, 2025
c71e235
sidebar i18n fixes (#20394)
hawkeye217 Oct 8, 2025
c61bb8f
Fix audio transcription (#20395)
hawkeye217 Oct 8, 2025
f4e7549
UI tweaks (#20401)
hawkeye217 Oct 9, 2025
24a1874
UI Tweaks (#20403)
NickM-27 Oct 9, 2025
b1a5896
Map verified objects to their sub label directly (#20413)
NickM-27 Oct 10, 2025
09d00c5
Update ROCm to 7.0.2 (#20433)
NickM-27 Oct 11, 2025
e183ae5
Add docs for HomeKit (#20435)
NickM-27 Oct 11, 2025
78d4870
Empty cameras view (#20434)
NickM-27 Oct 11, 2025
a2ad77c
Add stationary scan duration for LPR (#20444)
hawkeye217 Oct 12, 2025
6d5098a
Add ability to mark review items as unreviewed (#20446)
hawkeye217 Oct 12, 2025
6e10fc2
UI tweaks (#20450)
hawkeye217 Oct 12, 2025
423693d
Add ability to select GPU for ffmpeg (#20455)
NickM-27 Oct 13, 2025
9d85136
Add Camera Wizard (#20461)
hawkeye217 Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
67 changes: 31 additions & 36 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
name: AMD64 Build
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up QEMU and Buildx
Expand All @@ -47,7 +47,7 @@
name: ARM Build
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up QEMU and Buildx
Expand Down Expand Up @@ -77,42 +77,12 @@
rpi.tags=${{ steps.setup.outputs.image-name }}-rpi
*.cache-from=type=registry,ref=${{ steps.setup.outputs.cache-name }}-arm64
*.cache-to=type=registry,ref=${{ steps.setup.outputs.cache-name }}-arm64,mode=max
jetson_jp5_build:
if: false
runs-on: ubuntu-22.04
name: Jetson Jetpack 5
steps:
- name: Check out code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up QEMU and Buildx
id: setup
uses: ./.github/actions/setup
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push TensorRT (Jetson, Jetpack 5)
env:
ARCH: arm64
BASE_IMAGE: nvcr.io/nvidia/l4t-tensorrt:r8.5.2-runtime
SLIM_BASE: nvcr.io/nvidia/l4t-tensorrt:r8.5.2-runtime
TRT_BASE: nvcr.io/nvidia/l4t-tensorrt:r8.5.2-runtime
uses: docker/bake-action@v6
with:
source: .
push: true
targets: tensorrt
files: docker/tensorrt/trt.hcl
set: |
tensorrt.tags=${{ steps.setup.outputs.image-name }}-tensorrt-jp5
*.cache-from=type=registry,ref=${{ steps.setup.outputs.cache-name }}-jp5
*.cache-to=type=registry,ref=${{ steps.setup.outputs.cache-name }}-jp5,mode=max
jetson_jp6_build:
runs-on: ubuntu-22.04-arm
name: Jetson Jetpack 6
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up QEMU and Buildx
Expand Down Expand Up @@ -143,7 +113,7 @@
- amd64_build
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up QEMU and Buildx
Expand Down Expand Up @@ -185,7 +155,7 @@
- arm64_build
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up QEMU and Buildx
Expand All @@ -203,9 +173,34 @@
set: |
rk.tags=${{ steps.setup.outputs.image-name }}-rk
*.cache-from=type=gha
synaptics_build:
runs-on: ubuntu-22.04-arm
name: Synaptics Build
needs:
- arm64_build
steps:
- name: Check out code
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up QEMU and Buildx
id: setup
uses: ./.github/actions/setup
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Synaptics build
uses: docker/bake-action@v6
with:
source: .
push: true
targets: synaptics
files: docker/synaptics/synaptics.hcl
set: |
synaptics.tags=${{ steps.setup.outputs.image-name }}-synaptics
*.cache-from=type=gha
# The majority of users running arm64 are rpi users, so the rpi
# build should be the primary arm64 image
assemble_default_build:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
runs-on: ubuntu-22.04
name: Assemble and push default build
needs:
Expand All @@ -217,7 +212,7 @@
with:
string: ${{ github.repository }}
- name: Log in to the Container registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand Down
63 changes: 22 additions & 41 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,19 @@ on:
pull_request:
paths-ignore:
- "docs/**"
- ".github/**"
- ".github/*.yml"
- ".github/DISCUSSION_TEMPLATE/**"
- ".github/ISSUE_TEMPLATE/**"

env:
DEFAULT_PYTHON: 3.11

jobs:
build_devcontainer:
runs-on: ubuntu-latest
name: Build Devcontainer
# The Dockerfile contains features that requires buildkit, and since the
# devcontainer cli uses docker-compose to build the image, the only way to
# ensure docker-compose uses buildkit is to explicitly enable it.
env:
DOCKER_BUILDKIT: "1"
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@master
with:
node-version: 20.x
- name: Install devcontainer cli
run: npm install --global @devcontainers/cli
- name: Build devcontainer
run: devcontainer build --workspace-folder .
# It would be nice to also test the following commands, but for some
# reason they don't work even though in VS Code devcontainer works.
# - name: Start devcontainer
# run: devcontainer up --workspace-folder .
# - name: Run devcontainer scripts
# run: devcontainer run-user-commands --workspace-folder .

web_lint:
name: Web - Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/setup-node@master
Expand All @@ -56,7 +32,7 @@ jobs:
name: Web - Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/setup-node@master
Expand All @@ -76,7 +52,7 @@ jobs:
name: Python Checks
steps:
- name: Check out the repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
Expand All @@ -99,16 +75,21 @@ jobs:
name: Python Tests
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build
run: make
- name: Run mypy
run: docker run --rm --entrypoint=python3 frigate:latest -u -m mypy --config-file frigate/mypy.ini frigate
- name: Run tests
run: docker run --rm --entrypoint=python3 frigate:latest -u -m unittest
- uses: actions/setup-node@master
with:
node-version: 20.x
- name: Install devcontainer cli
run: npm install --global @devcontainers/cli
- name: Build devcontainer
env:
DOCKER_BUILDKIT: "1"
run: devcontainer build --workspace-folder .
- name: Start devcontainer
run: devcontainer up --workspace-folder .
- name: Run mypy in devcontainer
run: devcontainer exec --workspace-folder . bash -lc "python3 -u -m mypy --config-file frigate/mypy.ini frigate"
- name: Run unit tests in devcontainer
run: devcontainer exec --workspace-folder . bash -lc "python3 -u -m unittest"
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- id: lowercaseRepo
uses: ASzc/change-string-case-action@v6
with:
string: ${{ github.repository }}
- name: Log in to the Container registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand Down
8 changes: 7 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
default_target: local

COMMIT_HASH := $(shell git log -1 --pretty=format:"%h"|tail -1)
VERSION = 0.16.2
VERSION = 0.17.0
IMAGE_REPO ?= ghcr.io/blakeblackshear/frigate
GITHUB_REF_NAME ?= $(shell git rev-parse --abbrev-ref HEAD)
BOARDS= #Initialized empty
Expand All @@ -20,6 +20,12 @@ local: version
--tag frigate:latest \
--load

debug: version
docker buildx build --target=frigate --file docker/main/Dockerfile . \
--build-arg DEBUG=true \
--tag frigate:latest \
--load

amd64:
docker buildx build --target=frigate --file docker/main/Dockerfile . \
--tag $(IMAGE_REPO):$(VERSION)-$(COMMIT_HASH) \
Expand Down
4 changes: 2 additions & 2 deletions benchmark.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@

import numpy as np

import frigate.util as util
from frigate.config import DetectorTypeEnum
from frigate.object_detection.base import (
ObjectDetectProcess,
RemoteObjectDetector,
load_labels,
)
from frigate.util.process import FrigateProcess

my_frame = np.expand_dims(np.full((300, 300, 3), 1, np.uint8), axis=0)
labels = load_labels("/labelmap.txt")
Expand Down Expand Up @@ -91,7 +91,7 @@ def start(id, num_detections, detection_queue, event):
)

for x in range(0, 10):
camera_process = util.Process(
camera_process = FrigateProcess(
target=start, args=(x, 300, detection_queue, events[str(x)])
)
camera_process.daemon = True
Expand Down
21 changes: 19 additions & 2 deletions docker/main/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ RUN --mount=type=tmpfs,target=/tmp --mount=type=tmpfs,target=/var/cache/apt \
FROM scratch AS go2rtc
ARG TARGETARCH
WORKDIR /rootfs/usr/local/go2rtc/bin
ADD --link --chmod=755 "https://github.com/AlexxIT/go2rtc/releases/download/v1.9.9/go2rtc_linux_${TARGETARCH}" go2rtc
ADD --link --chmod=755 "https://github.com/AlexxIT/go2rtc/releases/download/v1.9.10/go2rtc_linux_${TARGETARCH}" go2rtc

FROM wget AS tempio
ARG TARGETARCH
Expand Down Expand Up @@ -148,6 +148,7 @@ RUN --mount=type=bind,source=docker/main/install_s6_overlay.sh,target=/deps/inst
FROM base AS wheels
ARG DEBIAN_FRONTEND
ARG TARGETARCH
ARG DEBUG=false

# Use a separate container to build wheels to prevent build dependencies in final image
RUN apt-get -qq update \
Expand Down Expand Up @@ -177,14 +178,19 @@ RUN wget -q https://bootstrap.pypa.io/get-pip.py -O get-pip.py \
&& python3 get-pip.py "pip"

COPY docker/main/requirements.txt /requirements.txt
COPY docker/main/requirements-dev.txt /requirements-dev.txt

RUN pip3 install -r /requirements.txt

# Build pysqlite3 from source
COPY docker/main/build_pysqlite3.sh /build_pysqlite3.sh
RUN /build_pysqlite3.sh

COPY docker/main/requirements-wheels.txt /requirements-wheels.txt
RUN pip3 wheel --wheel-dir=/wheels -r /requirements-wheels.txt
RUN pip3 wheel --wheel-dir=/wheels -r /requirements-wheels.txt && \
if [ "$DEBUG" = "true" ]; then \
pip3 wheel --wheel-dir=/wheels -r /requirements-dev.txt; \
fi

# Install HailoRT & Wheels
RUN --mount=type=bind,source=docker/main/install_hailort.sh,target=/deps/install_hailort.sh \
Expand All @@ -206,6 +212,7 @@ COPY docker/main/rootfs/ /
# Frigate deps (ffmpeg, python, nginx, go2rtc, s6-overlay, etc)
FROM slim-base AS deps
ARG TARGETARCH
ARG BASE_IMAGE

ARG DEBIAN_FRONTEND
# http://stackoverflow.com/questions/48162574/ddg#49462622
Expand All @@ -224,9 +231,15 @@ ENV TRANSFORMERS_NO_ADVISORY_WARNINGS=1
# Set OpenCV ffmpeg loglevel to fatal: https://ffmpeg.org/doxygen/trunk/log_8h.html
ENV OPENCV_FFMPEG_LOGLEVEL=8

# Set NumPy to ignore getlimits warning
ENV PYTHONWARNINGS="ignore:::numpy.core.getlimits"

# Set HailoRT to disable logging
ENV HAILORT_LOGGER_PATH=NONE

# TensorFlow error only
ENV TF_CPP_MIN_LOG_LEVEL=3

ENV PATH="/usr/local/go2rtc/bin:/usr/local/tempio/bin:/usr/local/nginx/sbin:${PATH}"

# Install dependencies
Expand All @@ -243,6 +256,10 @@ RUN wget -q https://bootstrap.pypa.io/get-pip.py -O get-pip.py \
RUN --mount=type=bind,from=wheels,source=/wheels,target=/deps/wheels \
pip3 install -U /deps/wheels/*.whl

# Install MemryX runtime (requires libgomp (OpenMP) in the final docker image)
RUN --mount=type=bind,source=docker/main/install_memryx.sh,target=/deps/install_memryx.sh \
bash -c "bash /deps/install_memryx.sh"

COPY --from=deps-rootfs / /

RUN ldconfig
Expand Down
Loading
Loading