GetPageSpeed / nginx-extras

Submit your NGINX module for build in GetPageSpeed extras RPM repository
https://www.getpagespeed.com/nginx-extras
BSD 2-Clause "Simplified" License
10 stars 5 forks source link
nginx nginx-module rpm yml

nginx-extras

CircleCI

The nginx-extras project, as part of GetPageSpeed repositories is your source of secure, well-maintained packages of NGINX and its 50+ modules.

Production-ready, quality binary RPM packages for NGINX Brotli, PageSpeed, dynamic ETags, ModSecurity modules (and many more), all available for installation via yum/dnf, giving you ability to configure your ultimate performant and secure NGINX setup.

Available by subscription, it is a budget Nginx Plus alternative, for CentOS/RHEL!

For sysadmins this allows to:

For module authors, this allows to:

Install any NGINX module whatsoever in any RPM-based distro

We provide NGINX module RPM packages for:

Step 1. Install repository configuration for your OS

sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm

Step 2. Enable installing modules for mainline NGINX (if you must)

sudo yum -y install yum-utils
sudo yum-config-manager --enable getpagespeed-extras-mainline

Step 3. Install the module, e.g. cache-purge

sudo yum -y install nginx-module-cache-purge

Module Requirements (for authors)

The module requirements are pretty straightforward, and most of the module repositories already follow it:

Submit your module for build

Sample module.yml

repo: openresty/srcache-nginx-module
summary: Transparent subrequest-based caching layout for arbitrary NGINX locations
description: |
  This module provides a transparent caching layer for arbitrary nginx
  locations (like those use an upstream or even serve static disk files).

  The caching behavior is mostly compatible with RFC 2616.
soname: ngx_http_srcache_filter_module
build_requires:
  - hiredis-devel

Version is automatically detected from your latest release, using lastversion. Make sure that your latest release has a LICENSE if you want it to be included in resulting RPM!

Caveats (for module authors)

Some modules have a pretty sophisticated RPM logic. One is example is nginx-module-pagespeed: it needs custom SELinux policy, among other things. Don't worry, we still build those modules elsewhere, and they are available through our repository same as any module that is built through this sytem.

If your module is one of those, raise an issue here.

99% of modules can be still built through this system.

Caveats (for sysadmins)

Using our repository implies you take all the risks associated with using an unofficial repository. Purchase Nginx Plus subscription if not sure :)