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_LDFLAGS
andCGO_CFLAGS
according 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_server
Alternatively, 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_server
This 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.