apt install nginx-module-*

Prebuilt nginx modules.
Not compiled by you.

12 nginx dynamic modules packaged as apt packages for Debian and Ubuntu. Built against official nginx.org stable releases. Maintained because we run them. Ready in 60 seconds.

Quick install
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
Requires nginx from nginx.org, not the one in Debian or Ubuntu's default repos. Why?
Debian Bookworm & Trixie Ubuntu 22.04 / 24.04 / 26.04 amd64 + arm64 Updated within 24h of nginx stable Free, always

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.

Installation guide Migrate from Sury →

No shady builds. Every step is public.

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.

CI pipeline
Open source. Every build logged.
Repository status
Checking...
Live from apt.blendbyte.net
About Blendbyte
Small. Opinionated. Running nginx in prod.
We built this because we needed it. It's free because that's the deal.

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.

nginx-module-brotli Compression
Brotli Compression
Your gzip was fine. Brotli is better.
Learn more →
nginx-module-brotli-static Compression
Brotli Static
Pre-compressed. Because why compress the same file at request time, forever?
Learn more →
nginx-module-zstd Compression
Zstandard Compression
Meta's compression algorithm. Faster to decompress than brotli. We ship it.
Learn more →
nginx-module-zstd-static Compression
Zstandard Static
Like brotli-static, but for zstd. Pre-compress once, serve forever.
Learn more →
nginx-module-modsecurity Security
ModSecurity WAF
Blocks the bad stuff before your app has to deal with it.
Learn more →
nginx-module-geoip2 Geolocation
GeoIP2 (HTTP)
Know where your traffic is coming from. Block it, route it, or just log it.
Learn more →
nginx-module-stream-geoip2 Geolocation
GeoIP2 (Stream)
GeoIP2 lookups, but for TCP and UDP traffic.
Learn more →
nginx-module-headers-more Headers
Headers More
Response headers, fully under your control. Add them, change them, nuke them entirely.
Learn more →
nginx-module-substitutions Content
Substitutions Filter
Regex find-and-replace in HTTP responses. A scalpel, not a chainsaw.
Learn more →
nginx-module-cache-purge Caching
Cache Purge
Flush the exact cache entry you want. Not the whole cache.
Learn more →
nginx-module-fancyindex Utility
Fancy Index
Directory listings that don't look like 1994 called.
Learn more →
nginx-module-dav-ext Utility
WebDAV Extension
nginx ships half of WebDAV. This adds the other half.
Learn more →
Migration

Coming from Sury?

The package swap is one apt transaction. Our packages declare Replaces and Conflicts so apt handles the rename automatically. Fair warning: Sury topped out at nginx 1.28 and we start at nginx 1.30, so nginx will upgrade and restart. Module names and include paths may differ, so give your config a once-over before reloading.

Migration (one transaction)
# Remove Sury's nginx source, add ours, and upgrade in one shot
sudo rm -f /etc/apt/sources.list.d/sury-nginx.list
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 upgrade
Full migration guide →

Common questions

Does this work with nginx from my distro's package manager?
Nope. These are built against nginx.org packages, not whatever ancient version ships with Debian or Ubuntu. That distro nginx is a different build with different ABI versions. Get nginx from nginx.org first, then add our repo. The two sources sit next to each other just fine.
How quickly are modules updated when nginx releases a new version?
Usually within 24 hours of a stable release. Run apt upgrade and you get the rebuilt modules automatically. The packages have ABI constraints so apt won't let you run a mismatched module and nginx anyway.
Is this free? Is there a catch?
Free. No catch. We run these modules in production at Blendbyte, so packaging them for everyone else costs us basically nothing extra. No paid tier, no usage limits, no vendor lock-in. Take the packages and go.
Which Linux distributions are supported?
Debian Bookworm, Debian Trixie, Ubuntu 22.04 LTS (Jammy), Ubuntu 24.04 LTS (Noble), and Ubuntu 26.04 LTS (Resolute Raccoon). Both amd64 and arm64 everywhere.
I need a module that is not listed. Can I request it?
Open an issue on GitHub and bring a maintainer with you. We only add modules that someone is willing to maintain: reviewing version bumps, handling build failures, watching security advisories. A request with no maintainer just sits there. It's a small project. That's how it stays small.
How do I know the packages are safe?
Every package is compiled on public GitHub Actions. The full build pipeline is open source. You can read every step, reproduce any build, and verify the output yourself. No proprietary build servers, no mystery signing boxes. If something looks wrong, open an issue.
What happened to the Sury nginx repository?
Ondřej Surý retired the mainline nginx repo in summer 2025, announced the stable repo shutdown in January 2026, and pulled the plug in April 2026. It's gone. We have drop-in replacements so you can switch in a single apt transaction. See the migration guide.