Tue, 09 Mar 2021 12:16:56 +0000
Initial commit
0 | 1 | #################################### |
2 | FROM debian:buster-slim as build | |
3 | ||
4 | MAINTAINER Matthew Wild <mwild1@gmail.com> | |
5 | ||
6 | RUN apt-get update \ | |
7 | && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
8 | lua5.2 \ | |
9 | liblua5.2-dev \ | |
10 | libidn11-dev \ | |
11 | libssl-dev \ | |
12 | build-essential \ | |
13 | && rm -rf /var/lib/apt/lists/* | |
14 | ||
15 | WORKDIR /tmp/build | |
16 | ||
17 | ADD https://hg.prosody.im/trunk/archive/tip.tar.gz ./prosody.tar.gz | |
18 | ||
19 | RUN tar --strip-components=1 -xzf prosody.tar.gz \ | |
20 | && ./configure && make | |
21 | ||
22 | ADD src/web/ util/ | |
23 | ||
24 | ############################ | |
25 | FROM debian:buster-slim | |
26 | ||
27 | RUN apt-get update \ | |
28 | && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
29 | tini \ | |
30 | lua5.2 \ | |
31 | lua-cjson \ | |
32 | lua-expat \ | |
33 | lua-filesystem \ | |
34 | lua-sec \ | |
35 | lua-socket \ | |
36 | libidn11 \ | |
37 | lua-dbi-postgresql \ | |
38 | lua-scrypt \ | |
39 | && rm -rf /var/lib/apt/lists/* | |
40 | ||
41 | COPY --from=build /tmp/build/util /usr/local/lib/lua-web-app/util | |
42 | COPY --from=build /tmp/build/net /usr/local/lib/lua-web-app/net | |
43 | ||
44 | ENV LUA_WEB_APP_FRAMEWORK /usr/local/lib/lua-web-app | |
45 | ||
46 | ADD src/ /usr/local/lib/lua-web-app | |
47 | ||
48 | WORKDIR /opt | |
49 | ||
50 | ADD default-app/html ./html | |
51 | ADD default-app/app ./app | |
52 | ||
53 | ADD config.dist.lua /etc/app/config.lua | |
54 | ||
55 | VOLUME /var/lib/app | |
56 | ||
57 | ENV LISTEN_INTERFACE * | |
58 | ENV LISTEN_PORT 8007 | |
59 | EXPOSE 8007 | |
60 | ||
61 | ENTRYPOINT ["/usr/bin/tini"] | |
62 | CMD ["/usr/bin/lua5.2", "/usr/local/lib/lua-web-app/main.lua", "/etc/app/config.lua"] |