diff --git a/build/node.dockerfile b/build/node.dockerfile index e4cb082..4b8e231 100644 --- a/build/node.dockerfile +++ b/build/node.dockerfile @@ -1,27 +1,34 @@ # Starting from node FROM node:22-slim -ENV NODE_ENV=production +# Install build dependencies +RUN apt-get update && \ + apt-get install -y ffmpeg python3 make g++ +# Set the working directory WORKDIR /app +RUN chown node:node ./ +USER node # Copy package files first COPY package.json package-lock.json* . -# Install build dependencies, compile native modules, then remove build tools -RUN apt-get update && \ - apt-get install -y ffmpeg python3 make g++ && \ - npm ci --only=production --ignore-scripts && \ +# Install app dependencies +ENV NODE_ENV=production +RUN npm ci --only=production --ignore-scripts && \ npm install bufferutil zlib-sync && \ - apt-get remove -y python3 make g++ && \ + npm cache clean --force + +# Copy the builded files +COPY ./dist/* . + +# Return to root user to remove build dependencies +USER root +RUN apt-get remove -y python3 make g++ && \ apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/* -# Copy the builded files and the charts -COPY ./dist/* . - -# Set the permissions -RUN chown -R node:node /app +# Go back to node user USER node # Start the application diff --git a/deploy/templates/service.yaml b/deploy/templates/service.yaml index 41111a1..6c5a92b 100644 --- a/deploy/templates/service.yaml +++ b/deploy/templates/service.yaml @@ -4,12 +4,12 @@ kind: Service metadata: name: "{{ .Release.Name }}-{{ .Values.service.name }}" spec: - type: {{ .Values.service.type }} + selector: + pod: {{ .Release.Name }} ports: - name: {{ .Values.service.name }} port: {{ .Values.deployment.env.TWURPLE_PORT | default .Values.service.port }} targetPort: {{ .Values.deployment.env.TWURPLE_PORT | default .Values.service.port }} protocol: TCP - selector: - {{ .Release.Name }} + type: {{ .Values.service.type }} {{- end }} \ No newline at end of file