Skip to content
This repository was archived by the owner on Apr 24, 2023. It is now read-only.

Commit 50dd42d

Browse files
authoredJun 8, 2020
chore: make the docker image much smaller. (#223)
1 parent 7fc8a8b commit 50dd42d

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed
 

‎Dockerfile

+16-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM node:lts-buster
1+
FROM node:lts-alpine as node
2+
3+
FROM node as builder
24

35
# Install deps
4-
RUN apt-get update && apt-get install -y \
5-
libssl-dev \
6-
ca-certificates
6+
RUN apk add --update git build-base python3 libressl-dev ca-certificates
77

88
# Setup directories for the `node` user
99
RUN mkdir -p /home/node/app/webrtc-star/node_modules && chown -R node:node /home/node/app/webrtc-star
@@ -13,12 +13,21 @@ WORKDIR /home/node/app/webrtc-star
1313
# Install node modules
1414
COPY package.json ./
1515
# Switch to the node user for installation
16-
USER node
1716
RUN npm install --production
1817

1918
# Copy over source files under the node user
20-
COPY --chown=node:node ./src ./src
21-
COPY --chown=node:node ./README.md ./
19+
COPY ./src ./src
20+
COPY ./README.md ./
21+
22+
# Start from a clean node image
23+
FROM node as server
24+
25+
# Prepare the working dir
26+
RUN mkdir -p /home/node/app/webrtc-star/node_modules && chown -R node:node /home/node/app/webrtc-star
27+
WORKDIR /home/node/app/webrtc-star
28+
29+
# Copy installed and compiled modules w/o build dependencies
30+
COPY --from=builder --chown=node:node /home/node/app/webrtc-star /home/node/app/webrtc-star
2231

2332
# webrtc-star defaults to 9090
2433
EXPOSE 9090

0 commit comments

Comments
 (0)
This repository has been archived.