Prebuilt nginx modules.Not compiled by you.
12 nginx dynamic modules packaged for apt. Built against official nginx.org stable releases. Maintained because we run them ourselves.
Requires nginx from nginx.org, not the one in Debian or Ubuntu's default repos.Why?
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
sudo apt install nginx-module-brotli nginx-module-geoip2 nginx-module-headers-more- Status
- Checking repo…
- Distros
- Debian 12, 13 · Ubuntu 22.04, 24.04, 26.04
- Arch
- amd64, arm64
- Rebuilds
- Within 24h of an nginx stable release
- Builds
- Public GitHub Actions ↗
- Price
- Free. No tiers, no limits.
Sury closed their repo. We built ours.
Ondřej Surý closed the Sury nginx repo in April 2026. Gone. The alternatives either cost money or depend on one person with way too much on their plate. We run a lot of nginx at Blendbyte, so we built our own packaging pipeline. Then we figured we might as well open it up.
Every package is compiled on public GitHub Actions. Read the pipeline, reproduce any build, verify the output yourself. No proprietary build servers, no trust-me-bro signing.
12 modules. All maintained.
Only modules we actually run in production. If it's not on the list, we either don't need it or there's a better answer somewhere else and we'll point you there.
Compression 4
- nginx-module-brotliBrotli CompressionYour gzip was fine. Brotli is better.Replaces libnginx-mod-http-brotli-filter
- nginx-module-brotli-staticBrotli StaticPre-compressed. Because why compress the same file at request time, forever?Replaces libnginx-mod-http-brotli-static
- nginx-module-zstdZstandard CompressionMeta's compression algorithm. Faster to decompress than brotli. We ship it.(none) on Sury
- nginx-module-zstd-staticZstandard StaticLike brotli-static, but for zstd. Pre-compress once, serve forever.(none) on Sury
Security 1
Geolocation 2
Headers 1
Content 1
Caching 1
Utility 2
Coming from Sury?
Sury topped out at nginx 1.28 and we start at nginx 1.30, so nginx will upgrade and restart. Give your config a once-over before reloading.
- Check what you run.A few Sury modules have no replacement here. Sort those out first or nginx won't start.
- Swap the apt sources.Drop Sury's nginx list, add nginx.org and Blendbyte.
- Run
apt upgrade.Our packages declareReplacesandConflicts, so apt handles the rename in one transaction.
Common questions
Does this work with nginx from my distro's package manager?
How quickly are modules updated when nginx releases a new version?
apt upgrade and you get the rebuilt modules automatically. Each package is pinned to the exact nginx version it was built for, so apt won't let a module and nginx drift out of sync.