diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e723d12 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +.git* +README.md diff --git a/Dockerfile b/Dockerfile index a34f964..04a225c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,4 @@ -FROM node:20-bookworm -LABEL description="Script written in TypeScript that uploads CGM readings from LibreLink Up to Nightscout" +FROM node:20-bookworm-slim AS build-stage # Create app directory RUN mkdir -p /usr/src/app @@ -13,9 +12,20 @@ RUN npm install COPY . /usr/src/app # Run tests -RUN npm run test +RUN npm run test ; \ + rm -r tests coverage + +# Compile +RUN npm run build -RUN rm -r tests -RUN rm -r coverage +# Remove devel-only dependencies +RUN npm prune --omit dev + +FROM node:20-bookworm-slim +LABEL description="Script written in TypeScript that uploads CGM readings from LibreLink Up to Nightscout" + +COPY --from=build-stage /usr/src/app /usr/src/app + +WORKDIR /usr/src/app -CMD [ "npm", "start" ] +CMD [ "npm", "run", "start-heroku" ]