add Dockerfile and nginx.conf
This commit is contained in:
parent
9f887cc252
commit
5c985e5edc
|
@ -0,0 +1,19 @@
|
|||
FROM node:14.1.0-alpine as build-deps
|
||||
|
||||
|
||||
#Stage 1
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
COPY package.json yarn.lock ./
|
||||
RUN yarn
|
||||
COPY . ./
|
||||
ENV NODE_ENV=production
|
||||
RUN yarn build
|
||||
|
||||
#Stage 2
|
||||
|
||||
FROM nginx:1.17.5-alpine
|
||||
COPY --from=build-deps /usr/src/app/build /var/www
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
EXPOSE 80
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
|
@ -0,0 +1,57 @@
|
|||
# auto detects a good number of processes to run
|
||||
worker_processes auto;
|
||||
|
||||
#Provides the configuration file context in which the directives that affect connection processing are specified.
|
||||
events {
|
||||
# Sets the maximum number of simultaneous connections that can be opened by a worker process.
|
||||
worker_connections 8000;
|
||||
# Tells the worker to accept multiple connections at a time
|
||||
multi_accept on;
|
||||
}
|
||||
|
||||
|
||||
http {
|
||||
# what times to include
|
||||
include /etc/nginx/mime.types;
|
||||
# what is the default one
|
||||
default_type application/octet-stream;
|
||||
|
||||
# Sets the path, format, and configuration for a buffered log write
|
||||
log_format compression '$remote_addr - $remote_user [$time_local] '
|
||||
'"$request" $status $upstream_addr '
|
||||
'"$http_referer" "$http_user_agent"';
|
||||
|
||||
server {
|
||||
# listen on port 80
|
||||
listen 80;
|
||||
# save logs here
|
||||
access_log /var/log/nginx/access.log compression;
|
||||
|
||||
# where the root here
|
||||
root /var/www;
|
||||
# what file to server as index
|
||||
index index.html index.htm;
|
||||
error_page 404 index.html;
|
||||
|
||||
# Fonts and media: images, icons, video, audio, HTC
|
||||
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|ttf)$ {
|
||||
expires 1M;
|
||||
access_log off;
|
||||
add_header Cache-Control "public";
|
||||
}
|
||||
|
||||
# Javascript and CSS files
|
||||
location ~* \.(?:css|webmanifest|js|woff2|manifest)$ {
|
||||
expires 1y;
|
||||
access_log off;
|
||||
add_header Cache-Control "public";
|
||||
}
|
||||
|
||||
location / {
|
||||
# First attempt to serve request as file, then
|
||||
# as directory, then fall back to redirecting to index.html
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue