Skip to content
This repository was archived by the owner on Jan 16, 2024. It is now read-only.

Commit 01f1e70

Browse files
authored
Merge pull request #15 from uncycler/feature/diet
Use alpine image
2 parents 9cdf882 + 63099fa commit 01f1e70

File tree

2 files changed

+31
-43
lines changed

2 files changed

+31
-43
lines changed

Dockerfile

Lines changed: 30 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,33 @@
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

example/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ services:
1818
image: mendhak/http-https-echo
1919

2020
cloudflare_mock:
21-
image: python:2.7
21+
image: python:2.7-alpine
2222
volumes:
2323
- ./cloudflare_mock/cdn-cgi:/cdn-cgi
2424
expose:

0 commit comments

Comments
 (0)