Brotli Compression
Your gzip was fine. Brotli is better.
nginx-module-brotli Install
You'll need nginx from nginx.org configured first. These packages won't load on the distro nginx.
Add the Blendbyte repository if you haven't already:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://apt.blendbyte.net/nginx/blendbyte-archive-keyring.gpg \
| sudo tee /etc/apt/keyrings/blendbyte.gpg >/dev/null
echo "deb [signed-by=/etc/apt/keyrings/blendbyte.gpg] https://apt.blendbyte.net/nginx $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/blendbyte.list
sudo apt update Then install this module:
$ sudo apt install nginx-module-brotli Most modules auto-enable on install. If yours didn't:
$ sudo ln -s /etc/nginx/modules-available/50-mod-brotli.conf \
/etc/nginx/modules-enabled/
$ sudo nginx -t && sudo systemctl reload nginx What it does
Brotli is Google's compression algorithm. It squeezes text content 15-25% smaller than gzip at comparable speeds, and every major browser has supported it for years. nginx doesn't ship it. This module fixes that. Compression happens on the fly based on the Accept-Encoding header. If you'd rather pre-compress assets at build time and skip the per-request CPU work, pair it with nginx-module-brotli-static.
When to use it
- Reduce bandwidth usage and page load times for HTML, CSS, and JS assets
- Improve Core Web Vitals scores by shrinking Time to First Byte on text content
- Replace or supplement gzip compression without touching application code
- Serve smaller API responses to JavaScript clients
Configuration
A starting point. Adjust to taste.
# Inside your http {} block:
brotli on;
brotli_comp_level 6;
brotli_types
text/html
text/css
text/plain
application/javascript
application/json
application/xml
image/svg+xml; Replacing a Sury package?
This replaces libnginx-mod-http-brotli-filter from the old Sury nginx repository.
The package declares Replaces and Conflicts so apt handles
the swap in one transaction. No manual cleanup needed.
# If you were using Sury, this upgrades in place:
sudo apt install nginx-module-brotli See the full migration guide for the complete Sury-to-Blendbyte migration steps.
Upstream project
We package this from the upstream open-source project. If it's a bug in the module itself (not in our packaging), report it upstream.
https://github.com/google/ngx_brotli ↗
Related modules
nginx-module-brotli-static nginx-module-zstd nginx-module-zstd-static