Dockerfile

Mon, 22 Nov 2021 12:16:17 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Mon, 22 Nov 2021 12:16:17 +0000
changeset 6
8ff56a650fc7
parent 5
1925a65de6ff
child 8
0f9aea96d446
permissions
-rw-r--r--

Upgrade runtime environment to Debian bullseye

0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 ####################################
2
8e14bb7f77a2 Upgrade to Debian bullseye
Matthew Wild <mwild1@gmail.com>
parents: 1
diff changeset
2 FROM debian:bullseye-slim as build
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 MAINTAINER Matthew Wild <mwild1@gmail.com>
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 RUN apt-get update \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 lua5.2 \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 liblua5.2-dev \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 libidn11-dev \
3
16c9e2363135 Pin to latest Prosody trunk revision (eventually aiming for 0.12)
Matthew Wild <mwild1@gmail.com>
parents: 2
diff changeset
11 libicu-dev \
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 libssl-dev \
1
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
13 libunbound-dev \
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 build-essential \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 && rm -rf /var/lib/apt/lists/*
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 WORKDIR /tmp/build
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18
3
16c9e2363135 Pin to latest Prosody trunk revision (eventually aiming for 0.12)
Matthew Wild <mwild1@gmail.com>
parents: 2
diff changeset
19 ADD https://hg.prosody.im/trunk/archive/16cf863b36c0.tar.gz ./prosody.tar.gz
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 RUN tar --strip-components=1 -xzf prosody.tar.gz \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 && ./configure && make
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 ADD src/web/ util/
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25
1
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
26 ADD https://code.zash.se/dl/luaunbound/luaunbound-0.5.tar.gz ./luaunbound-0.5.tar.gz
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
27
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
28 RUN tar -xzf luaunbound-0.5.tar.gz \
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
29 && make -C luaunbound-0.5
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
30
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31 ############################
6
8ff56a650fc7 Upgrade runtime environment to Debian bullseye
Matthew Wild <mwild1@gmail.com>
parents: 5
diff changeset
32 FROM debian:bullseye-slim
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34 RUN apt-get update \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
35 && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
36 tini \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
37 lua5.2 \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
38 lua-cjson \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
39 lua-expat \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
40 lua-filesystem \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
41 lua-sec \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
42 lua-socket \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
43 libidn11 \
4
5456d7573bac Fix: ensure libicu is installed at runtime
Matthew Wild <mwild1@gmail.com>
parents: 3
diff changeset
44 libicu67 \
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
45 lua-dbi-postgresql \
1
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
46 libunbound8 \
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
47 && rm -rf /var/lib/apt/lists/*
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
48
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
49 COPY --from=build /tmp/build/util /usr/local/lib/lua-web-app/util
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
50 COPY --from=build /tmp/build/net /usr/local/lib/lua-web-app/net
1
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
51 COPY --from=build /tmp/build/luaunbound-0.5/lunbound.so /usr/local/lib/lua/5.2/lunbound.so
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
52
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
53 ENV LUA_WEB_APP_FRAMEWORK /usr/local/lib/lua-web-app
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
54
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
55 ADD src/ /usr/local/lib/lua-web-app
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
56
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
57 WORKDIR /opt
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
58
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
59 ADD default-app/html ./html
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
60 ADD default-app/app ./app
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
61
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
62 ADD config.dist.lua /etc/app/config.lua
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
63
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
64 VOLUME /var/lib/app
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
65
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
66 ENV LISTEN_INTERFACE *
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
67 ENV LISTEN_PORT 8007
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
68 EXPOSE 8007
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
69
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
70 ENTRYPOINT ["/usr/bin/tini"]
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
71 CMD ["/usr/bin/lua5.2", "/usr/local/lib/lua-web-app/main.lua", "/etc/app/config.lua"]

mercurial