-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathDockerfile
More file actions
32 lines (26 loc) · 789 Bytes
/
Dockerfile
File metadata and controls
32 lines (26 loc) · 789 Bytes
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
31
32
FROM node:24-alpine as node
WORKDIR /opt
FROM node as base
ADD ./packages ./packages
COPY ./package.json .
COPY ./package-lock.json .
RUN chown -R nobody:nogroup ./ && \
touch /.npmrc && chown nobody:nogroup /.npmrc && \
mkdir /.npm && chown nobody:nogroup /.npm && \
mkdir ./log && chown nobody:nogroup ./log && \
ln -sf /dev/stdout ./log/stdout.log && \
ln -sf /dev/stderr ./log/stderr.log
USER nobody:nobody
RUN npm config set update-notifier false && \
npm ci --omit dev --fund false
FROM base as build
RUN npm i --fund false
ADD ./src ./src
COPY ./tsconfig.json .
RUN npm run build
FROM base as release
COPY --from=build /opt/dist ./dist
ENV NODE_ENV=production
ENV DEBUG=app:*
EXPOSE 80
CMD node ./dist/main.js 1>> ./log/stdout.log 2>> ./log/stderr.log