-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile.api
26 lines (25 loc) · 1.02 KB
/
Dockerfile.api
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
FROM node:11-alpine as build
RUN mkdir -p /api
WORKDIR /api
ADD packages/api/package.json packages/api/yarn.lock ./
# "../common" is a locally linked package. copy it into the api working dir at build
# time s.t. install works. docker needs all files in context, thus, "../common" biffs
RUN sed -i'' 's|"common"\: ".*"|"common": "./common"|' ./package.json
ADD packages/common ./common
# "../module-scraper" is a locally linked package. copy it into the api working dir at build
# time s.t. install works. docker needs all files in context, thus, "../module-scraper" biffs
RUN sed -i'' 's|"module-scraper"\: ".*"|"module-scraper": "./module-scraper"|' ./package.json
ADD packages/module-scraper ./module-scraper
# prune
RUN yarn && cd /api/module-scraper && yarn && cd /api/common && yarn
ADD packages/api/build ./build
ADD packages/api/knexfile.js ./
ADD packages/api/static ./static
FROM node:11-alpine
EXPOSE 9090
ENV NODE_ENV=production
ENV USER=node
RUN mkdir -p /api
WORKDIR /api
COPY --from=build /api /api
CMD ["yarn", "start:prod"]