|
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"] |