Skip to content

Commit

Permalink
chore: install brotli for debian and redhat (#540)
Browse files Browse the repository at this point in the history
  • Loading branch information
SilentEntity authored Jan 16, 2024
1 parent d84bee5 commit be17de5
Show file tree
Hide file tree
Showing 8 changed files with 89 additions and 0 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ define build_image_dev
$(ENV_DOCKER) build -t $(ENV_APISIX_IMAGE_TAG_NAME)-debian-dev \
--build-arg CODE_PATH=$(1) \
--build-arg ENTRYPOINT_PATH=debian-dev/docker-entrypoint.sh \
--build-arg INSTALL_BROTLI=debian-dev/install-brotli.sh \
-f ./debian-dev/Dockerfile.local .
endef

Expand Down
4 changes: 4 additions & 0 deletions debian-dev/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ RUN apt-get -y update --fix-missing \
libldap2-dev \
&& apt-get remove --purge --auto-remove -y

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
Expand Down
5 changes: 5 additions & 0 deletions debian-dev/Dockerfile.local
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,16 @@ RUN set -x \
FROM debian:bullseye-slim

ARG ENTRYPOINT_PATH=./docker-entrypoint.sh
ARG INSTALL_BROTLI=./install-brotli.sh

COPY --from=build /usr/local/apisix /usr/local/apisix
COPY --from=build /usr/local/openresty /usr/local/openresty
COPY --from=build /usr/bin/apisix /usr/bin/apisix

COPY ${INSTALL_BROTLI} /install-brotli.sh
RUN chmod +x /install-brotli.sh \
&& cd / && ./install-brotli.sh && rm -rf /install-brotli.sh

ENV PATH=$PATH:/usr/local/openresty/luajit/bin:/usr/local/openresty/nginx/sbin:/usr/local/openresty/bin

WORKDIR /usr/local/apisix
Expand Down
24 changes: 24 additions & 0 deletions debian-dev/install-brotli.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
install_brotli () {
apt-get -qy update
apt-get install -y sudo cmake wget unzip
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
export SUDO_FORCE_REMOVE=yes
apt purge -qy cmake sudo wget unzip
apt-get remove --purge --auto-remove -y
}
install_brotli
4 changes: 4 additions & 0 deletions debian/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ RUN set -ex; \
&& openresty -V \
&& apisix version

COPY ./install-brotli.sh /install-brotli.sh
RUN chmod +x /install-brotli.sh \
&& cd / && ./install-brotli.sh && rm -rf /install-brotli.sh

RUN apt-get -y purge --auto-remove curl wget gnupg --allow-remove-essential

WORKDIR /usr/local/apisix
Expand Down
23 changes: 23 additions & 0 deletions debian/install-brotli.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
install_brotli () {
apt-get install -y sudo cmake wget unzip
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
export SUDO_FORCE_REMOVE=yes
apt purge -qy cmake sudo wget unzip
apt-get remove --purge --auto-remove -y
}
install_brotli
4 changes: 4 additions & 0 deletions redhat/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
24 changes: 24 additions & 0 deletions redhat/install-brotli.sh
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit be17de5

Please sign in to comment.