If you’ve ever spent an afternoon compiling ngx_brotli on Ubuntu 22.04, only to watch it break after the next apt upgrade, this post is for you. We’re announcing the GetPageSpeed NGINX APT repository — the solution Debian and Ubuntu users have been waiting for.
The state of NGINX modules on Debian and Ubuntu has become… let’s call it “challenging.” Ubuntu 22.04 LTS still ships NGINX 1.18 — that’s from April 2020. Meanwhile, the popular ondrej/nginx-mainline PPA that many relied on has officially deprecated its module packages. And Ubuntu itself? They’ve stopped accepting new third-party module requests entirely.
If you’ve been compiling modules from source, you know the drill: fight with configure flags, hunt down dependencies, pray the ABI matches, and then hold your breath every time apt wants to upgrade something.
Today, that changes. GetPageSpeed is launching its NGINX APT repository — bringing battle-tested module infrastructure to Debian and Ubuntu.
The Module Gap on Ubuntu
Let’s be honest about the situation:
Version staleness is real. While the current NGINX stable branch is 1.26.x, Ubuntu 22.04’s repos are stuck on 1.18. Security patches get backported (sometimes), but you’re locked out of new features and performance improvements.
Ubuntu’s nginx-extras covers basics but misses power users. Yes, it includes useful modules like GeoIP2, nchan, cache-purge, and headers-more. But need any of these?
- Brotli compression — Not in Ubuntu 22.04 (only added in 24.04)
- Lua scripting (OpenResty-compatible) — Not available
- NAXSI WAF — Not available
- JWT validation — Not available
- VTS traffic monitoring — Not available
- Zstandard compression — Not available
- ModSecurity 3 — Not available
- PostgreSQL/Redis direct connectivity — Not available
You’re left with two options: compile from source or wait for Ubuntu to maybe add it in a future release (spoiler: they’ve stopped accepting new module requests).
Compilation is a maintenance nightmare. Sure, you can compile ngx_brotli yourself:
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli && git submodule update --init
./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
# Now figure out where to put the .so files...
# And remember these exact flags for 6 months from now
Then next month, apt upgrade bumps NGINX and your module stops loading. ABI mismatch. Start over.
Every apt upgrade becomes a roll of the dice when you’ve compiled modules from source.
The Solution: GetPageSpeed NGINX APT Repository
GetPageSpeed’s NGINX APT repository brings over 130 dynamic modules to Debian and Ubuntu. The same build infrastructure that’s been powering 10,000+ RHEL-based production servers since 2016.
Currently FREE during early adoption. No credit card, no subscription required. We want you to test it, break it, and tell us what’s missing.
Supported distributions:
- Debian 12 (bookworm) — stable and mainline branches
- Ubuntu 22.04 LTS (jammy) — stable and mainline branches
- More coming soon (noble, trixie)
What You Get That Ubuntu Doesn’t Provide
Here’s what 30 seconds looks like instead of 45 minutes of compilation:
# Compilation hell (the old way)
./configure --add-dynamic-module=../ngx_brotli --with-compat \
--with-cc-opt='-g -O2 -fdebug-prefix-map=...'
make && sudo make install
# Repeat for every module. Hope nothing breaks.
# GetPageSpeed NGINX APT repository (the new way)
sudo apt install nginx-module-brotli
# Done.
Performance & Compression:
nginx-module-brotli— Google’s compression, 15-25% smaller than gzipnginx-module-zstd— Facebook’s Zstandard compressionnginx-module-pagespeed— Google’s PageSpeed optimizationnginx-module-vts— Real-time traffic monitoring dashboard
Security:
nginx-module-naxsi— High-performance web application firewallnginx-module-modsecurity— ModSecurity v3 WAFnginx-module-jwt— JWT token validation at the edgenginx-module-auth-ldap— Enterprise LDAP/Active Directory auth
Streaming & Real-time:
nginx-module-rtmp— Live video streaming (HLS, DASH, RTMP)nginx-module-vod— Video on demand with on-the-fly repackagingnginx-module-push-stream— HTTP push and streaming
Scripting & Extensibility:
nginx-module-lua— Full OpenResty-compatible Lua scriptingnginx-module-njs— NGINX JavaScript for config logicnginx-module-perl— Perl handlers in NGINX
Database Connectivity:
nginx-module-postgres— Query PostgreSQL directly from NGINXnginx-module-redis2— Redis protocol support
And 100+ more. See the complete module catalog.
Get Started in 3 Commands
Setting up the NGINX APT repository takes seconds:
# 1. Add the GetPageSpeed APT repository
curl -fsSL https://apt.getpagespeed.com/gpg.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/getpagespeed.gpg
echo "deb [signed-by=/etc/apt/keyrings/getpagespeed.gpg] \
https://apt.getpagespeed.com/$(lsb_release -cs)/ stable main" | \
sudo tee /etc/apt/sources.list.d/getpagespeed.list
# 2. Install NGINX and any modules you need
sudo apt update
sudo apt install nginx nginx-module-brotli nginx-module-lua
# 3. Enable modules in nginx.conf
Add to the top of your /etc/nginx/nginx.conf:
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
Verify and reload:
sudo nginx -t && sudo systemctl reload nginx
That’s it. No compilation, no ABI headaches, no prayer required.
For distribution-specific details and the full module list, visit the NGINX APT repository documentation.
Why This Matters Now
The timing isn’t coincidental. A perfect storm has made extending NGINX on Ubuntu increasingly difficult:
Ubuntu’s policy change: The Ubuntu Server team has officially stated they will not accept new third-party NGINX modules into the official repositories. What you see in nginx-extras today is what you get — forever.
Ondřej Surý’s deprecation: The ondrej/nginx PPA has been the go-to for fresh NGINX builds on Ubuntu for years. As of NGINX 1.28, mainline module packages are deprecated. The maintainer (understandably) can’t keep up with external module ABI compatibility.
The module gap widens: Modern NGINX use cases increasingly require modules Ubuntu doesn’t ship: Lua for complex routing logic, Brotli for better compression, NAXSI/ModSecurity for WAF protection, VTS for observability.
Don’t wait for your next performance audit to discover you’re missing the modules you need.
Stop Compiling. Start Building.
Your time is too valuable to spend fighting with configure flags, chasing down header files, and debugging ABI mismatches.
The GetPageSpeed NGINX APT repository gives you:
- 130+ modules professionally packaged and tested
- Immediate updates when new NGINX versions drop
- Stable and mainline branches for your preference
- Currently FREE during early adoption
This won’t last forever — but right now, there’s no reason not to try it.
Get started with the NGINX APT repository →
Already using our RPM repository for RHEL/CentOS/Rocky? Same modules, same quality, now for your Debian and Ubuntu systems too.
Questions about your NGINX configuration? Run it through our NGINX Configuration Checker to catch errors before they hit production.

