Frontend/Dockerfile
danysmall fecce76fe1 Improved loading content of and article with saving them in redux store
When article was loaded once than it will be cached in redux store.
On the next loading of article content it will be get from store
2022-11-12 23:41:31 +03:00

43 lines
1.1 KiB
Docker
Executable File

# Install dependencies of project
FROM node:fermium-alpine AS dependencies
RUN apk add --no-cache libc6-compat
WORKDIR /home/app/
COPY package.json ./
RUN npm i
# Build application to bunch of static files
FROM node:fermium-alpine AS builder
WORKDIR /home/app/
COPY --from=dependencies ./home/app/node_modules ./node_modules
COPY . .
RUN npm run build
# NGINX image
FROM nginx:1.21.6 as production
# Copy built assets from builder
COPY --from=builder /home/app/build /usr/share/nginx/html
# Add nginx.config
COPY nginx.conf /etc/nginx/conf.d/default.conf
# Copy setup nginx entrypoint file
COPY ./scripts/entrypoint.sh .
# Expose ports
EXPOSE 80
# Execute script
RUN chmod +x ./entrypoint.sh
ENV NODE_ENV production
# ENV USER_NAME=node_user USER_UID=2000 GROUP_NAME=node_group GROUP_UID=2000
# RUN deluser --remove-home node \
# && addgroup --g ${GROUP_UID} -S ${GROUP_NAME} \
# && adduser -D -S -s /sbin/nologin -u ${USER_UID} -G ${GROUP_NAME} ${USER_NAME}
# USER "${USER_NAME}"
ENTRYPOINT ["./entrypoint.sh"]
# Start serving
CMD ["nginx", "-g", "daemon off;"]