From 99235ca70a95fe879e87a7d3f6e3cb29ecfe1593 Mon Sep 17 00:00:00 2001 From: xbdm Date: Fri, 14 Jul 2023 21:16:52 +0000 Subject: [PATCH] Create Dockerfile --- Dockerfile | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..754a655 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +# Multi-stage +# 1) Node image for building frontend assets +# 2) nginx stage to serve frontend assets + +# Name the node stage "builder" +FROM docker.io/node:16 AS builder +# Set working directory +WORKDIR /app + +ENV SAFETWITCH_BACKEND_DOMAIN SAFETWITCH_BACKEND_DOMAIN_PLACEHOLDER +ENV SAFETWITCH_INSTANCE_DOMAIN SAFETWITCH_INSTANCE_DOMAIN_PLACEHOLDER +ENV SAFETWITCH_HTTPS SAFETWITCH_HTTPS_PLACEHOLDER +# 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 docker.io/nginx:alpine +COPY ./nginx.conf /etc/nginx/nginx.conf +# Set working directory to nginx asset directory +RUN mkdir /app +# Copy static assets from builder stage +COPY --from=builder /app/dist /app +# Containers run nginx with global directives and daemon off +EXPOSE 80 + +# Overriding the default NGINX container behavior +COPY ./substitute_environment_variables.sh ./substitute_environment_variables.sh +RUN chmod +x /substitute_environment_variables.sh +ENTRYPOINT ["/substitute_environment_variables.sh"] \ No newline at end of file