-
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathDockerfile
36 lines (31 loc) · 1.17 KB
/
Dockerfile
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
33
34
35
36
FROM node:current-alpine as node-original
FROM node-original as install
WORKDIR /usr/src/app
COPY package*.json ./
RUN apk update &&\
apk add --no-cache make gcc g++ python linux-headers udev
RUN npm ci --only=production
FROM install as compile
RUN npm install
COPY ./src/ ./src/
COPY tsconfig.json ./
RUN npm run prepack
FROM node-original as combiner
WORKDIR /usr/src/app
COPY --from=install /usr/src/app/node_modules /usr/src/app/node_modules
COPY --from=install /usr/src/app/package.json /usr/src/app/package.json
COPY --from=compile /usr/src/app/dist /usr/src/app/dist
FROM node-original as production
ARG BUILD_DATE=unknown
ARG BUILD_VERSION=0.0.0-development
ARG VCS_REF=not-set
WORKDIR /usr/src/app
COPY --from=combiner /usr/src/app /usr/src/app
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.description="Parsing data from your smartmeter and sending it to various outputs." \
org.label-schema.name=smartmeter \
org.label-schema.schema-version=1.0 \
org.label-schema.url=https://github.com/svrooij/smartmeter2mqtt/ \
org.label-schema.version=$BUILD_VERSION \
org.label-schema.vcs-ref=$VCS_REF
CMD ["node", "./dist/index.js"]