docker icon indicating copy to clipboard operation
docker copied to clipboard

Add support for brotli compression to the apache image

Open st3iny opened this issue 2 years ago • 3 comments

First of all, thanks for maintaining this awesome docker image.

I have a feature request for the apache images: Would you be open to add support for brotli compression to facilitate more efficient bandwidth usage? If so, I'd like to start working on it and see if it is feasible.

Of course, I'd be happy to open a PR if it works well.

st3iny avatar Sep 29 '23 08:09 st3iny

I think the idea here (with the micro-services images) is to stay as close as possible to a conventional/recommended Nextcloud Server installation as possible. So I think a couple things will have to happen first:

  • relevant bits of https://github.com/nextcloud/server/issues/36728 get settled
  • feedback on https://github.com/nextcloud/all-in-one/pull/2576 now that's it's been in the field for a few months
  • Admin Manual needs an Issue for discussion/PR for updating to provide a functioning "official" configuration with brotli for Apache
  • Similar nginx example configs tested/added to Admin Manual for feature parity

Then (particularly those last two) could trickle through to changes in the Docker micro-service images here (for both apache and nginx).

  • If you want to nudge some of the above along :+1:
  • If you want to work on a proposed implementation (which would greatly accelerate/inform each of the above steps) :+1:

See the AIO version referenced above for an Apache model. :smile:

joshtrichards avatar Nov 03 '23 15:11 joshtrichards

If you have to much processing power, and really focus on high compression over throughput, you could use an external reverse proxy to do the job like described under https://github.com/google/ngx_brotli/issues/162

This approach even allows to compress gzip at higher compression levels, use brotli or the newer zstd.

I have not verified the compatibility with nextcloud, but it works in general.

kwinsch avatar Aug 04 '24 15:08 kwinsch

Yeah, this is what I do in production. My server has only a few active users and bandwidth is a bigger issue than processing power.

st3iny avatar Aug 04 '24 15:08 st3iny