aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAizuddinAkmal <29974506+AizuddinAkmal@users.noreply.github.com>2024-04-07 06:56:53 +0800
committerAndrew Lee <alee14498@protonmail.com>2024-04-06 19:35:27 -0400
commit368d580f976070b31d92061509fbf19a7f81fed8 (patch)
tree8558eda47c31ffc665ac3b51e7123d5e8afd1676
parent95c6c917cab1abef636b388cbfb22ad38dfbd321 (diff)
downloadDLAP-368d580f976070b31d92061509fbf19a7f81fed8.tar.gz
DLAP-368d580f976070b31d92061509fbf19a7f81fed8.tar.bz2
DLAP-368d580f976070b31d92061509fbf19a7f81fed8.zip
Update to use non-root user and assign appropriate permissions
-rw-r--r--Dockerfile22
1 files changed, 15 insertions, 7 deletions
diff --git a/Dockerfile b/Dockerfile
index be11515..4e76020 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,23 +1,31 @@
-FROM node:alpine AS build
+FROM node:latest AS build
WORKDIR /usr/src/bot
-RUN apk add --update alpine-sdk libtool autoconf automake python3
+RUN apt-get update && apt-get install -y build-essential libtool autoconf automake python3
COPY package.json ./
COPY yarn.lock ./
+ENV NODE_ENV production
+
RUN yarn global add node-gyp
-RUN yarn install
+RUN yarn install --production
+
+FROM node:21.7.2-bookworm-slim
+
+ENV NODE_ENV production
+
+RUN apt-get update && apt-get install -y dumb-init
-FROM node:alpine
+USER node
WORKDIR /usr/src/bot
-COPY --from=build /usr/src/bot/node_modules ./node_modules
+COPY --chown=node:node --from=build /usr/src/bot/node_modules ./node_modules
-COPY . ./
+COPY --chown=node:node . ./
-CMD ["node", "bot.js"]
+CMD ["dumb-init", "node", "bot.js"]