christophlehmann / imgproxy
TYPO3 扩展,用于通过 imgproxy 服务图片。
0.0.3
2024-02-09 09:33 UTC
Requires
- typo3/cms-core: ^10.4 || ^11.5 || ^12.0
README
使用 imgproxy 异步渲染图片,并在客户端支持的情况下以 webp 和 avif 等新格式提供服务。
基本上,TYPO3 现在只渲染一个处理 URL,imgproxy 服务器端提供生成的图片。与 GraphicsMagick 和 ImageMagick 相比,图像处理速度更快,内存消耗更少。
它不会在 sys_file_processedfile
中存储缩略图信息,也不会本地保存生成的图片,因此对于生产使用,强烈建议使用缓存代理。
安装
composer require christophlehmann/imgproxy
配置
improxyUrl
是 imgproxy 的 URL。key
和salt
用于签名 URL。使用echo $(xxd -g 2 -l 64 -p /dev/random | tr -d '\n')
生成它们。helperUrl
可以用来告诉 imgproxy 它如何到达源图片。在开发环境中很有用:将其设置为项目的实时 URL,您就不需要本地图片。allowedExtensions
应该使用 imgproxy 处理的文件扩展名列表formatQuality
可以用来为 avif、webp 等定义不同的压缩。默认:空(使用 TYPO3 的质量设置)。示例:jpeg:70:avif:40:webp:60
在本地使用 docker 运行 imgproxy
- 将
imgproxyUrl
设置为http://localhost:8080
- 当 docker 容器无法访问本地 web 服务器时,将
helperUrl
设置为local:///
- 启动 imgproxy
docker run \ --env IMGPROXY_KEY=*yourkey* \ --env IMGPROXY_SALT=*yoursalt* \ --env IMGPROXY_ENABLE_WEBP_DETECTION=true \ --env IMGPROXY_ENABLE_AVIF_DETECTION=true \ --env IMGPROXY_LOCAL_FILESYSTEM_ROOT=/data \ --volume /path/to/documentroot:/data \ --publish 127.0.0.1:8080:8080 \ -it darthsim/imgproxy