-
Notifications
You must be signed in to change notification settings - Fork 17
/
Dockerfile
30 lines (24 loc) · 1.08 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
FROM alpine:3.15 AS extractor
COPY build/distributions/*.tar /usr/src/app/server.tar
RUN mkdir /usr/src/app/extracted
RUN cd /usr/src/app && tar --strip-components 1 -xf server.tar -C extracted
FROM eclipse-temurin:21-jre-jammy
ENV NODE_VERSION=20.12.1
ENV NVM_DIR=/usr/src/.nvm
ENV PATH="${NVM_DIR}/versions/node/v${NODE_VERSION}/bin:${PATH}"
RUN apt update && apt install --no-install-recommends -y curl \
&& mkdir -p $NVM_DIR \
&& curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash \
&&. "$NVM_DIR/nvm.sh" \
&& nvm install -b ${NODE_VERSION} \
&& nvm use v${NODE_VERSION} \
&& nvm alias default v${NODE_VERSION} \
&& node --version \
&& npm --version
COPY --from=extractor /usr/src/app/extracted /usr/src/app
COPY scheduling-dsl-compiler /usr/src/app/scheduling-dsl-compiler
ENV SCHEDULING_DSL_COMPILER_ROOT="/usr/src/app/scheduling-dsl-compiler/"
ENV SCHEDULING_DSL_COMPILER_COMMAND="./build/main.js"
ENV NODE_PATH="${NVM_DIR}/versions/node/v${NODE_VERSION}/bin/node"
WORKDIR /usr/src/app
ENTRYPOINT ["/usr/src/app/bin/scheduler-worker"]