voicemail-ticketizer/Dockerfile
2021-03-10 22:10:47 -07:00

32 lines
672 B
Docker

# stage: dev
FROM node:15-alpine as dev
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
# stage: build
FROM dev as build
RUN npm prune --production
# stage: production
FROM node:15-alpine as production
WORKDIR /app
RUN printf "%b" '#!'"/bin/sh\n\
set -e\n\
if [ ! -z \"\$RUN_MIGRATIONS\" ]; then\n\
echo \"Running migrations.\"\n\
npm run knex:migrate:latest\n\
fi\n\
exec \"\$@\"\n" > docker-entrypoint.sh && chmod +x docker-entrypoint.sh
COPY --from=build /app/node_modules ./node_modules
COPY --from=build /app/src ./src
COPY --from=build /app/*.json ./
COPY --from=build /app/*.ts ./
ENTRYPOINT [ "./docker-entrypoint.sh" ]
CMD [ "npm", "start" ]