Dockerfile

Thu, 22 Jun 2023 21:31:56 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Thu, 22 Jun 2023 21:31:56 +0100
changeset 18
b5c4b245e24c
parent 13
763288302cf0
permissions
-rw-r--r--

http: Add some helpful comments regarding auth/CSRF

0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 ####################################
13
763288302cf0 Dockerfile: Bump Debian and Prosody versions
Matthew Wild <mwild1@gmail.com>
parents: 9
diff changeset
2 FROM debian:bookworm-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
13
763288302cf0 Dockerfile: Bump Debian and Prosody versions
Matthew Wild <mwild1@gmail.com>
parents: 9
diff changeset
19 ADD https://hg.prosody.im/trunk/archive/59478b295137.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
8
0f9aea96d446 Bump lua-unbound from 0.5 to 1.0.0
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
26 ADD https://code.zash.se/dl/luaunbound/luaunbound-1.0.0.tar.gz ./luaunbound-1.0.0.tar.gz
1
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
27
8
0f9aea96d446 Bump lua-unbound from 0.5 to 1.0.0
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
28 RUN tar -xzf luaunbound-1.0.0.tar.gz \
0f9aea96d446 Bump lua-unbound from 0.5 to 1.0.0
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
29 && make -C luaunbound-1.0.0
1
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 ############################
13
763288302cf0 Dockerfile: Bump Debian and Prosody versions
Matthew Wild <mwild1@gmail.com>
parents: 9
diff changeset
32 FROM debian:bookworm-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 \
13
763288302cf0 Dockerfile: Bump Debian and Prosody versions
Matthew Wild <mwild1@gmail.com>
parents: 9
diff changeset
41 lua-geoip \
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
42 lua-sec \
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
43 lua-socket \
13
763288302cf0 Dockerfile: Bump Debian and Prosody versions
Matthew Wild <mwild1@gmail.com>
parents: 9
diff changeset
44 libidn12 \
763288302cf0 Dockerfile: Bump Debian and Prosody versions
Matthew Wild <mwild1@gmail.com>
parents: 9
diff changeset
45 libicu72 \
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
46 lua-dbi-postgresql \
1
ab05314b412c Add lua-unbound
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
47 libunbound8 \
13
763288302cf0 Dockerfile: Bump Debian and Prosody versions
Matthew Wild <mwild1@gmail.com>
parents: 9
diff changeset
48 ca-certificates \
763288302cf0 Dockerfile: Bump Debian and Prosody versions
Matthew Wild <mwild1@gmail.com>
parents: 9
diff changeset
49 geoip-database \
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
50 && rm -rf /var/lib/apt/lists/*
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
51
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
52 COPY --from=build /tmp/build/util /usr/local/lib/lua-web-app/util
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
53 COPY --from=build /tmp/build/net /usr/local/lib/lua-web-app/net
8
0f9aea96d446 Bump lua-unbound from 0.5 to 1.0.0
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
54 COPY --from=build /tmp/build/luaunbound-1.0.0/lunbound.so /usr/local/lib/lua/5.2/lunbound.so
0
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
55
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
56 ENV LUA_WEB_APP_FRAMEWORK /usr/local/lib/lua-web-app
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
57
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
58 ADD src/ /usr/local/lib/lua-web-app
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
59
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
60 WORKDIR /opt
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 default-app/html ./html
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
63 ADD default-app/app ./app
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
64
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
65 ADD config.dist.lua /etc/app/config.lua
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
66
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
67 VOLUME /var/lib/app
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
68
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
69 ENV LISTEN_INTERFACE *
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
70 ENV LISTEN_PORT 8007
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
71 EXPOSE 8007
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
72
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
73 ENTRYPOINT ["/usr/bin/tini"]
6279a7d40ae7 Initial commit
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
74 CMD ["/usr/bin/lua5.2", "/usr/local/lib/lua-web-app/main.lua", "/etc/app/config.lua"]

mercurial