Skip to content

docs: add pre-built Ubuntu/Debian package installation instructions#8

Open
dvershinin wants to merge 1 commit into
kjdev:mainfrom
dvershinin:add-prebuilt-packages
Open

docs: add pre-built Ubuntu/Debian package installation instructions#8
dvershinin wants to merge 1 commit into
kjdev:mainfrom
dvershinin:add-prebuilt-packages

Conversation

@dvershinin
Copy link
Copy Markdown

@dvershinin dvershinin commented Feb 3, 2026

This PR adds installation instructions for pre-built Ubuntu/Debian packages from the GetPageSpeed repository.

The packages are available for:

  • Ubuntu 20.04, 22.04, 24.04 (amd64 and arm64)
  • Debian 12, 13 (amd64 and arm64)

This makes it easier for users to install the module without compiling from source.

Summary by CodeRabbit

  • Documentation
    • Added installation guide for pre-built packages on Ubuntu and Debian systems, including repository setup instructions and list of supported distributions.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 3, 2026

📝 Walkthrough

Walkthrough

Added a new documentation section to README.md describing pre-built package installation for Ubuntu and Debian systems via the GetPageSpeed repository, including steps to add the repository and install nginx with nginx-module-keyval.

Changes

Cohort / File(s) Summary
Documentation Addition
README.md
Added "Pre-built Packages (Ubuntu / Debian)" section with repository setup and installation instructions.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

A rabbit hops through docs so fine,
Adding guides for Ubuntu's vine,
Pre-built packages now so clear,
Installation paths appear! 🐰📦
Debian users cheer with glee,
Documentation sets them free!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: adding documentation for pre-built Ubuntu/Debian package installation instructions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@README.md`:
- Line 29: Update the README sentence that claims the module is "automatically
enabled" to clarify that while apt installation "configures the module to be
available," dynamic modules may still require an explicit load_module directive
in the main NGINX configuration; replace or amend the phrase "automatically
enabled" with language such as "configured to be available; may require manual
load_module in nginx.conf" and mention the `load_module` directive explicitly so
readers know manual configuration might be necessary while keeping the supported
distribution list unchanged.
🧹 Nitpick comments (1)
README.md (1)

20-22: Add a Debian-specific example line to reduce ambiguity.

The single Ubuntu example plus “replace ‘ubuntu’ and ‘jammy’” can mislead Debian users (they also need a different distro path and codename). Consider adding a Debian example line alongside Ubuntu for clarity.

Comment thread README.md
sudo apt-get install nginx nginx-module-keyval
```

The module is automatically enabled after installation. Supported distributions include Debian 12/13 and Ubuntu 20.04/22.04/24.04 (both amd64 and arm64). See [the complete setup instructions](https://apt-nginx-extras.getpagespeed.com/apt-setup/).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

GetPageSpeed nginx-module-keyval apt setup installation automatically enabled

💡 Result:

1) Set up the GetPageSpeed Extras APT repo (Debian/Ubuntu)

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://extras.getpagespeed.com/deb-archive-keyring.gpg \
  | sudo tee /etc/apt/keyrings/getpagespeed.gpg >/dev/null

distro=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
codename=$(lsb_release -cs)
echo "deb [signed-by=/etc/apt/keyrings/getpagespeed.gpg] https://extras.getpagespeed.com/${distro} ${codename} main" \
  | sudo tee /etc/apt/sources.list.d/getpagespeed-extras.list

sudo apt-get update

[1]

2) Install nginx-module-keyval

sudo apt-get update
sudo apt-get install nginx-module-keyval

[2]

3) Is it automatically enabled?

  • Maybe: GetPageSpeed’s Ubuntu/Debian instructions state that when you install NGINX and dynamic modules via apt, “NGINX will be automatically configured to load these modules.” [3]
  • If it’s not loaded, you must enable it the standard NGINX way (dynamic modules require an explicit load_module ...; in the main context) and reload NGINX. [4]

A quick check:

nginx -T 2>&1 | grep -E 'load_module|keyval' -n

If you don’t see it being loaded, add an appropriate load_module modules/…keyval….so; line near the top of /etc/nginx/nginx.conf (before http {} / stream {}), then:

sudo nginx -t && sudo systemctl reload nginx

[4]

Sources:
[1] GetPageSpeed “APT Repository Setup”
[2] GetPageSpeed “keyval” (APT NGINX Extras docs)
[3] GetPageSpeed “Ubuntu: the better NGINX instructions” (auto-load claim)
[4] NGINX docs: enabling dynamic modules requires load_module


🌐 Web query:

GetPageSpeed apt supported distributions Debian 12 13 Ubuntu 20.04 22.04 24.04

💡 Result:

GetPageSpeed APT NGINX Extras repository currently publishes packages for these Debian/Ubuntu suites (amd64 + arm64), which correspond to your versions: (apt-nginx-extras.getpagespeed.com)

Citations:


Correct "automatically enabled" claim. GetPageSpeed's documentation states that modules are "automatically configured to load" when installed via apt, but dynamic modules require an explicit load_module directive to be loaded in the main NGINX configuration if not auto-loaded. The README overstates the automation; clarify that manual configuration may be required. The supported distribution list (Debian 12/13, Ubuntu 20.04/22.04/24.04, amd64 and arm64) is accurate.

🤖 Prompt for AI Agents
In `@README.md` at line 29, Update the README sentence that claims the module is
"automatically enabled" to clarify that while apt installation "configures the
module to be available," dynamic modules may still require an explicit
load_module directive in the main NGINX configuration; replace or amend the
phrase "automatically enabled" with language such as "configured to be
available; may require manual load_module in nginx.conf" and mention the
`load_module` directive explicitly so readers know manual configuration might be
necessary while keeping the supported distribution list unchanged.

Comment thread README.md
Pre-built Packages (Ubuntu / Debian)
------------------------------------

Pre-built packages for this module are freely available from the GetPageSpeed repository:
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't GetPageSpeed require a subscription?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants