Skip to content

Commit

Permalink
Reduce federation-server Docker image
Browse files Browse the repository at this point in the history
  • Loading branch information
guimard committed Jun 11, 2024
1 parent c47d0d2 commit 7e342bc
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 21 deletions.
2 changes: 0 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,6 @@ ENV BASE_URL= \

COPY --from=1 /usr/src/app /usr/src/app/

RUN ls -l /usr/src/app

WORKDIR /usr/src/app

EXPOSE 3000
Expand Down
63 changes: 44 additions & 19 deletions packages/federated-identity-service/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,45 @@
FROM node:18
# Base for final image
FROM debian:bookworm-slim as node-minimal

RUN apt update && \
apt -y dist-upgrade && \
apt -y install nodejs && \
apt autoremove -y && \
apt clean && \
rm -rf /var/lib/apt/lists/*

# Temporary image to build app
FROM debian:bookworm-slim as builder

RUN apt update && \
apt -y dist-upgrade && \
apt -y install nodejs npm && \
apt autoremove -y && \
apt clean && \
rm -rf /var/lib/apt/lists/*

WORKDIR /usr/src/app

# COPIES
COPY ./packages/federated-identity-service/server.mjs .
COPY ./packages/crypto ./packages/crypto
COPY ./packages/logger ./packages/logger
COPY ./packages/matrix-resolve ./packages/matrix-resolve
COPY ./packages/matrix-identity-server ./packages/matrix-identity-server
COPY ./packages/config-parser ./packages/config-parser
COPY ./packages/federated-identity-service ./packages/federated-identity-service
COPY .husky .husky
COPY lerna.json ./
COPY tsconfig-build.json ./
COPY rollup-template.js ./
COPY package*.json ./

RUN npm install && npm run build && \
rm -rf node_modules */*/node_modules && \
npm install --production --ignore-scripts && \
npm cache clean --force

FROM node-minimal as federation-server

ENV BASE_URL= \
CRON_SERVICE= \
Expand All @@ -24,25 +65,9 @@ ENV BASE_URL= \
TRUST_X_FORWARDED_FOR= \
TRUSTED_SERVERS_ADDRESSES=

RUN apt update && apt -y dist-upgrade
COPY --from=1 /usr/src/app /usr/src/app/

WORKDIR /usr/src/app

COPY ./packages/federated-identity-service/server.mjs .

COPY ./packages/crypto ./packages/crypto
COPY ./packages/logger ./packages/logger
COPY ./packages/matrix-resolve ./packages/matrix-resolve
COPY ./packages/matrix-identity-server ./packages/matrix-identity-server
COPY ./packages/config-parser ./packages/config-parser
COPY ./packages/federated-identity-service ./packages/federated-identity-service
COPY .husky .husky
COPY lerna.json ./
COPY tsconfig-build.json ./
COPY rollup-template.js ./
COPY package*.json ./

RUN npm install && npm run build && npm cache clean --force

EXPOSE 3000
CMD [ "node", "/usr/src/app/server.mjs" ]
CMD [ "node", "/usr/src/app/server.mjs" ]

0 comments on commit 7e342bc

Please sign in to comment.