1- FROM docker.io/wolframresearch/wolframengine
1+ # syntax=docker/dockerfile:1
2+ FROM docker.io/wolframresearch/wolframengine AS deps
3+
4+ RUN apt-get update && apt-get install -y ffmpeg
5+
6+ COPY Scripts/update.wls /workspace/Scripts/update.wls
7+ COPY Common/ /workspace/Common/
8+
9+ WORKDIR /workspace
10+
11+ RUN --mount=type=secret,id=wolfram_license,env=WOLFRAMSCRIPT_ENTITLEMENTID,required=true wolframscript -script Scripts/update.wls
12+
13+
14+ FROM wolframresearch/wolframengine:14.2 AS final
215
316USER root
417
518RUN useradd -m wljs
619
720ENV DEBIAN_FRONTEND=noninteractive
821
22+ COPY --from=deps /workspace/wl_packages /wljs/wl_packages
23+ COPY --from=deps /workspace/wljs_packages /wljs/wljs_packages
24+
25+ COPY ./ /wljs/
26+ COPY container/run.sh /usr/local/bin/run.sh
27+
28+ COPY container/wljs-routes /etc/nginx/sites-available/default
29+ COPY container/proxy-snippet.conf /etc/nginx/snippets/proxy.conf
30+
931RUN apt-get update && apt-get install -y \
1032 git \
1133 nginx \
1234 expect \
1335 curl \
36+ ffmpeg \
1437 && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
1538 && apt-get install -y nodejs \
1639 && apt-get clean \
17- && rm -rf /var/lib/apt/lists/*
18-
19- COPY container/wljs-routes /etc/nginx/sites-available/default
20- COPY container/proxy-snippet.conf /etc/nginx/snippets/proxy.conf
21-
22- RUN mkdir -p /wljs
23- COPY ./ /wljs/
24-
25- COPY container/run.sh /run.sh
26- RUN chmod +x /run.sh
40+ && rm -rf /var/lib/apt/lists/* \
41+ && chmod +x /usr/local/bin/run.sh
2742
28- CMD / run.sh
43+ CMD [ "/usr/local/bin/ run.sh" ]
0 commit comments