diff --git a/Dockerfile b/Dockerfile index 4c31fc1c..2a9db08c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:14.18.2-alpine AS BUILD_IMAGE +FROM node:16.13.2-alpine3.15 AS BUILD_IMAGE ARG TARGETPLATFORM ENV TARGETPLATFORM=${TARGETPLATFORM:-linux/amd64} @@ -24,7 +24,7 @@ COPY . ./ RUN yarn build # Build the final image -FROM node:14.18.2-alpine +FROM node:16.13.2-alpine3.15 # Define some ENV Vars ENV PORT=80 \ diff --git a/docker/Dockerfile-multi-arch b/docker/Dockerfile-multi-arch deleted file mode 100644 index b51f847d..00000000 --- a/docker/Dockerfile-multi-arch +++ /dev/null @@ -1,50 +0,0 @@ -FROM node:14.17.5-alpine AS BUILD_IMAGE - -ARG TARGETPLATFORM -ENV TARGETPLATFORM=${TARGETPLATFORM:-linux/amd64} - -# Install additional tools needed on arm64 and armv7 -RUN \ - case "${TARGETPLATFORM}" in \ - 'linux/arm64') apk add --no-cache python make g++ ;; \ - 'linux/arm/v7') apk add --no-cache python make g++ ;; \ - esac - -# Create and set the working directory -WORKDIR /app - -COPY package.json yarn.lock ./ -RUN yarn install --frozen-lockfile --network-timeout 1000000 - -# Copy over all project files and folders to the working directory -COPY . ./ - -# Build initial app for production -RUN yarn build - -# Build the final image -FROM node:14.17.5-alpine - -# Define some ENV Vars -ENV PORT=80 \ - DIRECTORY=/app \ - IS_DOCKER=true - -# Create and set the working directory -WORKDIR ${DIRECTORY} - -# Install tini and tzdata -RUN apk add --no-cache tzdata tini - -# copy from build image -COPY --from=BUILD_IMAGE /app ./ - -# Finally, run start command to serve up the built application -ENTRYPOINT [ "/sbin/tini", "--" ] -CMD [ "yarn", "build-and-start" ] - -# Expose given port -EXPOSE ${PORT} - -# Run simple healthchecks every 5 mins, to check the Dashy's everythings great -HEALTHCHECK --interval=5m --timeout=2s --start-period=30s CMD yarn health-check diff --git a/docker/Dockerfile-old b/docker/Dockerfile-old new file mode 100644 index 00000000..8328882f --- /dev/null +++ b/docker/Dockerfile-old @@ -0,0 +1,31 @@ +FROM node:lts-alpine3.14 + +# Define some ENV Vars +ENV PORT=80 \ + DIRECTORY=/app \ + IS_DOCKER=true + +# Create and set the working directory +WORKDIR ${DIRECTORY} + +# Copy over both 'package.json' and 'package-lock.json' (if available) +COPY package*.json ./ +COPY yarn.lock ./ + +# Install project dependencies +RUN yarn + +# Copy over all project files and folders to the working directory +COPY . . + +# Build initial app for production +RUN yarn build + +# Expose given port +EXPOSE ${PORT} + +# Finally, run start command to serve up the built application +CMD [ "yarn", "build-and-start"] + +# Run simple healthchecks every 5 mins, to check the Dashy's everythings great +HEALTHCHECK --interval=5m --timeout=2s --start-period=30s CMD yarn health-check