mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| set -euxo pipefail
 | |
| 
 | |
| NGINX_VERSION="1.27.4"
 | |
| VOD_MODULE_VERSION="1.31"
 | |
| SECURE_TOKEN_MODULE_VERSION="1.5"
 | |
| SET_MISC_MODULE_VERSION="v0.33"
 | |
| NGX_DEVEL_KIT_VERSION="v0.3.3"
 | |
| 
 | |
| source /etc/os-release
 | |
| 
 | |
| if [[ "$VERSION_ID" == "12" ]]; then
 | |
|     sed -i '/^Types:/s/deb/& deb-src/' /etc/apt/sources.list.d/debian.sources
 | |
| else
 | |
|     cp /etc/apt/sources.list /etc/apt/sources.list.d/sources-src.list
 | |
|     sed -i 's|deb http|deb-src http|g' /etc/apt/sources.list.d/sources-src.list
 | |
| fi
 | |
| 
 | |
| apt-get update
 | |
| apt-get -yqq build-dep nginx
 | |
| 
 | |
| apt-get -yqq install --no-install-recommends ca-certificates wget
 | |
| update-ca-certificates -f
 | |
| apt install -y ccache
 | |
| 
 | |
| export PATH="/usr/lib/ccache:$PATH"
 | |
| 
 | |
| mkdir /tmp/nginx
 | |
| wget -nv https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
 | |
| tar -zxf nginx-${NGINX_VERSION}.tar.gz -C /tmp/nginx --strip-components=1
 | |
| rm nginx-${NGINX_VERSION}.tar.gz
 | |
| mkdir /tmp/nginx-vod-module
 | |
| wget -nv https://github.com/kaltura/nginx-vod-module/archive/refs/tags/${VOD_MODULE_VERSION}.tar.gz
 | |
| tar -zxf ${VOD_MODULE_VERSION}.tar.gz -C /tmp/nginx-vod-module --strip-components=1
 | |
| rm ${VOD_MODULE_VERSION}.tar.gz
 | |
|     # Patch MAX_CLIPS to allow more clips to be added than the default 128
 | |
| sed -i 's/MAX_CLIPS (128)/MAX_CLIPS (1080)/g' /tmp/nginx-vod-module/vod/media_set.h
 | |
| patch -d /tmp/nginx-vod-module/ -p1 << 'EOF'
 | |
| --- a/vod/avc_hevc_parser.c       2022-06-27 11:38:10.000000000 +0000
 | |
| +++ b/vod/avc_hevc_parser.c       2023-01-16 11:25:10.900521298 +0000
 | |
| @@ -3,6 +3,9 @@
 | |
|  bool_t
 | |
|  avc_hevc_parser_rbsp_trailing_bits(bit_reader_state_t* reader)
 | |
|  {
 | |
| +	// https://github.com/blakeblackshear/frigate/issues/4572
 | |
| +	return TRUE;
 | |
| +
 | |
|  	uint32_t one_bit;
 | |
| 
 | |
|  	if (reader->stream.eof_reached)
 | |
| EOF
 | |
| 
 | |
| 
 | |
| mkdir /tmp/nginx-secure-token-module
 | |
| wget https://github.com/kaltura/nginx-secure-token-module/archive/refs/tags/${SECURE_TOKEN_MODULE_VERSION}.tar.gz
 | |
| tar -zxf ${SECURE_TOKEN_MODULE_VERSION}.tar.gz -C /tmp/nginx-secure-token-module --strip-components=1
 | |
| rm ${SECURE_TOKEN_MODULE_VERSION}.tar.gz
 | |
| 
 | |
| mkdir /tmp/ngx_devel_kit
 | |
| wget https://github.com/vision5/ngx_devel_kit/archive/refs/tags/${NGX_DEVEL_KIT_VERSION}.tar.gz
 | |
| tar -zxf ${NGX_DEVEL_KIT_VERSION}.tar.gz -C /tmp/ngx_devel_kit --strip-components=1
 | |
| rm ${NGX_DEVEL_KIT_VERSION}.tar.gz
 | |
| 
 | |
| mkdir /tmp/nginx-set-misc-module
 | |
| wget https://github.com/openresty/set-misc-nginx-module/archive/refs/tags/${SET_MISC_MODULE_VERSION}.tar.gz
 | |
| tar -zxf ${SET_MISC_MODULE_VERSION}.tar.gz -C /tmp/nginx-set-misc-module --strip-components=1
 | |
| rm ${SET_MISC_MODULE_VERSION}.tar.gz
 | |
| 
 | |
| cd /tmp/nginx
 | |
| 
 | |
| ./configure --prefix=/usr/local/nginx \
 | |
|     --with-file-aio \
 | |
|     --with-http_sub_module \
 | |
|     --with-http_ssl_module \
 | |
|     --with-http_auth_request_module \
 | |
|     --with-http_realip_module \
 | |
|     --with-threads \
 | |
|     --add-module=../ngx_devel_kit \
 | |
|     --add-module=../nginx-set-misc-module \
 | |
|     --add-module=../nginx-vod-module \
 | |
|     --add-module=../nginx-secure-token-module \
 | |
|     --with-cc-opt="-O3 -Wno-error=implicit-fallthrough"
 | |
| 
 | |
| make CC="ccache gcc" -j$(nproc) && make install
 | |
| rm -rf /usr/local/nginx/html /usr/local/nginx/conf/*.default
 |