Pre-built Nginx dynamic modules compiled from source for multiple OS and architecture combinations.
| Module | Source |
|---|---|
ngx_http_brotli_filter_module.so |
ngx_brotli |
ngx_http_brotli_static_module.so |
ngx_brotli |
ngx_http_cache_purge_module.so |
ngx_cache_purge |
ngx_http_cookie_flag_filter_module.so |
nginx_cookie_flag_module |
ngx_http_geoip2_module.so |
ngx_http_geoip2_module |
ngx_http_headers_more_filter_module.so |
headers-more-nginx-module |
ngx_stream_geoip2_module.so |
ngx_http_geoip2_module |
- OS: Ubuntu Jammy (22.04), Ubuntu Noble (24.04)
- Arch: amd64, arm64
Download the matching tarball from Releases and load only the modules you need in your nginx.conf:
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
load_module modules/ngx_http_cache_purge_module.so;
load_module modules/ngx_http_cookie_flag_filter_module.so;
load_module modules/ngx_http_geoip2_module.so;
load_module modules/ngx_http_headers_more_filter_module.so;
load_module modules/ngx_stream_geoip2_module.so;Note: Each
.sofile is independent — you do not need to load all of them. Only load the modules you actually use.Pairs:
ngx_http_brotli_filter_module.soandngx_http_brotli_static_module.socan be loaded independently (filter for on-the-fly compression, static for serving pre-compressed.brfiles).ngx_http_geoip2_module.sois for thehttpcontext andngx_stream_geoip2_module.sois for thestreamcontext — load whichever you need, or both.
Tag push — creates a release automatically:
git tag v1.28.0-1
git push origin v1.28.0-1Manual dispatch — builds artifacts only (no release):
Go to Actions → Build Nginx Dynamic Modules → Run workflow, and enter the nginx version.
Each release contains tarballs per OS/arch combination:
nginx-modules-jammy-amd64.tar.gznginx-modules-jammy-arm64.tar.gznginx-modules-noble-amd64.tar.gznginx-modules-noble-arm64.tar.gz