From bf544c8e9aee3df9f48408f6ef6658a5bc119fba Mon Sep 17 00:00:00 2001 From: dragongoose <19649813+dragongoose@users.noreply.github.com> Date: Sat, 25 Mar 2023 17:49:04 -0400 Subject: [PATCH] Docker support --- .dockerignore | 1 + Dockerfile | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5e622e4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +# Multi-stage +# 1) Node image for building frontend assets +# 2) nginx stage to serve frontend assets + +# Name the node stage "builder" +FROM node:16 AS builder +# Set working directory +WORKDIR /app +# Copy all files from current directory to working dir in image +COPY . . +# install node modules and build assets +RUN npm i && npm run build + +# nginx state for serving content +FROM nginx:alpine +# Set working directory to nginx asset directory +WORKDIR /usr/share/nginx/html +# Remove default nginx static assets +RUN rm -rf ./* +# Copy static assets from builder stage +COPY --from=builder /app/dist . +# Containers run nginx with global directives and daemon off +ENTRYPOINT ["nginx", "-g", "daemon off;"] \ No newline at end of file