diff --git a/redhat/Dockerfile b/redhat/Dockerfile index 1a1a1ecb..e4a5bace 100644 --- a/redhat/Dockerfile +++ b/redhat/Dockerfile @@ -27,6 +27,10 @@ RUN yum update -y \ && yum clean all \ && sed -i 's/PASS_MAX_DAYS\t99999/PASS_MAX_DAYS\t60/g' /etc/login.defs +COPY ./install-brotli.sh /install-brotli.sh +RUN chmod +x /install-brotli.sh \ + && cd / && ./install-brotli.sh && rm -rf /install-brotli.sh + WORKDIR /usr/local/apisix ENV PATH=$PATH:/usr/local/openresty/luajit/bin:/usr/local/openresty/nginx/sbin:/usr/local/openresty/bin diff --git a/redhat/install-brotli.sh b/redhat/install-brotli.sh new file mode 100644 index 00000000..24cc30a7 --- /dev/null +++ b/redhat/install-brotli.sh @@ -0,0 +1,24 @@ +install_brotli () { + yum install -y sudo cmake3 wget unzip gcc + export PATH=$PATH:/usr/local/bin + local BORTLI_VERSION="1.1.0" + wget -q https://github.com/google/brotli/archive/refs/tags/v${BORTLI_VERSION}.zip || exit -1 + unzip v${BORTLI_VERSION}.zip && cd ./brotli-${BORTLI_VERSION} && mkdir build && cd build || exit -1 + local CMAKE=$(command -v cmake3 > /dev/null 2>&1 && echo cmake3 || echo cmake) || exit -1 + ${CMAKE} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/brotli .. || exit -1 + sudo ${CMAKE} --build . --config Release --target install || exit -1 + if [ -d "/usr/local/brotli/lib64" ]; then + echo /usr/local/brotli/lib64 | sudo tee /etc/ld.so.conf.d/brotli.conf + else + echo /usr/local/brotli/lib | sudo tee /etc/ld.so.conf.d/brotli.conf + fi + sudo ldconfig || exit -1 + ln -sf /usr/local/brotli/bin/brotli /usr/bin/brotli + cd ../.. + rm -rf brotli-${BORTLI_VERSION} + rm -rf /v${BORTLI_VERSION}.zip + yum remove -y cmake3 wget unzip gcc + rm -rf /usr/bin/sudo + yum clean all -y +} +install_brotli \ No newline at end of file