1- FROM haproxy:2.3
1+ FROM haproxy:2.4-alpine as builder
22
3- WORKDIR /root
3+ USER root
4+ WORKDIR /tmp
45
5- # hadolint ignore=DL3003
6- RUN apt-get update && \
7- apt-get install --no-install-recommends \
8- ca-certificates \
9- pkg-config \
10- libtool-bin \
11- libgpm2 \
12- publicsuffix \
13- lua5.3 \
14- liblua5.3-dev \
15- wget \
16- make \
17- libssl-dev -y && \
18- rm -rf /var/lib/apt/lists/* && \
19- mkdir -p /usr/local/share/lua/5.3 && \
20- # haproxy-lua-http
21- wget https://github.com/haproxytech/haproxy-lua-http/archive/master.tar.gz && \
22- tar -xf master.tar.gz -C /usr/local/share/lua/5.3 && \
23- ln -s /usr/local/share/lua/5.3/haproxy-lua-http-master/http.lua /usr/local/share/lua/5.3/http.lua && \
24- rm /root/master.tar.gz && \
25- # json.lua
26- wget https://github.com/rxi/json.lua/archive/v0.1.2.tar.gz && \
27- tar -xf v0.1.2.tar.gz -C /usr/local/share/lua/5.3 && \
28- ln -s /usr/local/share/lua/5.3/json.lua-0.1.2/json.lua /usr/local/share/lua/5.3/json.lua && \
29- rm /root/v0.1.2.tar.gz && \
30- # luasocket
31- wget https://github.com/diegonehab/luasocket/archive/master.tar.gz && \
32- tar -xf master.tar.gz -C /usr/local/share/lua/5.3 && \
33- cd /usr/local/share/lua/5.3/luasocket-master && \
34- make clean all install-both LUAINC=/usr/include/lua5.3 && \
35- rm /root/master.tar.gz && \
36- # luaossl
37- cd /root && \
38- wget https://github.com/wahern/luaossl/archive/rel-20190731.tar.gz && \
39- tar -xf rel-20190731.tar.gz -C /usr/local/share/lua/5.3 && \
40- cd /usr/local/share/lua/5.3/luaossl-rel-20190731 && \
41- make install && \
42- rm /root/rel-20190731.tar.gz
6+ RUN apk add --no-cache build-base gcc musl-dev lua5.3 lua5.3-dev make openssl-dev
437
44- COPY ./src/base64.lua /usr/local/share/lua/5.3
45- COPY ./src/jwtverify.lua /usr/local/share/lua/5.3
8+ RUN mkdir -p /usr/local/share/lua/5.3
9+ RUN wget https://github.com/haproxytech/haproxy-lua-http/archive/master.tar.gz -O /tmp/haproxy-lua-http.tar.gz && \
10+ tar -xf /tmp/haproxy-lua-http.tar.gz -C /tmp && \
11+ cp /tmp/haproxy-lua-http-master/http.lua /usr/local/share/lua/5.3/http.lua
12+ RUN wget https://github.com/rxi/json.lua/archive/v0.1.2.tar.gz -O /tmp/json-lua.tar.gz && \
13+ tar -xf /tmp/json-lua.tar.gz -C /tmp && \
14+ cp /tmp/json.lua-*/json.lua /usr/local/share/lua/5.3/json.lua
15+ RUN wget https://github.com/diegonehab/luasocket/archive/master.tar.gz -O /tmp/luasocker.tar.gz && \
16+ tar -xf /tmp/luasocker.tar.gz -C /tmp && \
17+ cd /tmp/luasocket-master && \
18+ make clean all install-both LUAINC=/usr/include/lua5.3
19+ RUN wget https://github.com/wahern/luaossl/archive/rel-20190731.tar.gz -O /tmp/rel.tar.gz && \
20+ tar -xf /tmp/rel.tar.gz -C /tmp && \
21+ cd /tmp/luaossl-rel-* && \
22+ make install
23+
24+ FROM haproxy:2.4-alpine
25+
26+ USER root
27+ RUN apk add --no-cache ca-certificates lua5.3
28+
29+ COPY --from=builder /usr/local/share/lua/5.3 /usr/local/share/lua/5.3
30+ COPY --from=builder /usr/local/lib/lua/5.3 /usr/local/lib/lua/5.3
31+ COPY ./src/base64.lua ./src/jwtverify.lua /usr/local/share/lua/5.3/
32+
33+ USER haproxy
0 commit comments