This module for the Caddy web server provides support for the Brotli compression format.
It uses the reference implementation of Brotli (written in C), through the Go module provided by Google.
-
Install cbrotli. On Mac run
brew install brotli. On Debian and Ubuntu, runapt install libbrotli-dev. -
Then create your Caddy build:
CGO_ENABLED=1 \ xcaddy build \ --with github.com/dunglas/caddy-cbrotli
On Mac, be sure to adapt the paths in
CGO_LDFLAGSandCGO_CFLAGSaccording to your Brotli installation:CGO_LDFLAGS="-L/opt/homebrew/lib/" \ CGO_CFLAGS="-I/opt/homebrew/include/" \ CGO_ENABLED=1 \ xcaddy build \ --with github.com/dunglas/caddy-cbrotli
Add the br value to the encode directive in your Caddyfile.
Example:
localhost
encode zstd br gzip
file_serverAlternatively, you can configure the quality (from 0 to 11, defaults to 6) and the base 2 logarithm of the sliding window size (from 10 to 24, defaults to auto):
Example:
localhost
encode {
br 8 15
}
file_serverThis module depends on cgo.
If you are looking for a non-cgo (but more CPU-intensive) alternative, see the github.com/ueffel/caddy-brotli module.
Created by Kévin Dunglas and sponsored by Les-Tilleuls.coop.