webp-sh / webp_server_go

Go version of WebP Server. A tool that will serve your JPG/PNG/BMP/SVGs as WebP/AVIF format with compression, on-the-fly.
https://docs.webp.sh
GNU General Public License v3.0
1.79k stars 173 forks source link

Add `MAX_CACHE_SIZE` config #344

Closed n0vad3v closed 2 months ago

n0vad3v commented 2 months ago

This PR adds MAX_CACHE_SIZE in config, which will solve the following issues:

MAX_CACHE_SIZE is set in number, with unit of MiB, the default value is 0, which will remain current setup, if this value is set, for example 50, then a background task will run alongside with WebP Server Go, that task will ensure the following directories will be below 50MiB, seperately.

If any of the above directories' size goes above setting value, the oldest file will be deleted to make space.

Note, this will keep the above directories' size seperately, so there can be the following situation with total size of 101MiB.

Also, this PR fixes a bug where CACHE_TTL should be WEBP_CACHE_TTL in environment variable.

github-actions[bot] commented 2 months ago

ghcr.io/webp-sh/webp_server_go (debian 12.5)
============================================
Total: 0 (HIGH: 0, CRITICAL: 0)