feat: dockerize

This commit is contained in:
Derock 2023-03-18 09:36:45 -04:00
parent 881ba95664
commit a35b3ada2d
No known key found for this signature in database
3 changed files with 56 additions and 0 deletions

2
.dockerignore Normal file
View file

@ -0,0 +1,2 @@
node_modules/
dist/

29
Dockerfile Normal file
View file

@ -0,0 +1,29 @@
# Build the react project
FROM node:18-alpine as builder
WORKDIR /app
# Install the node_modules first
COPY package*.json ./
RUN npm ci
# Copy the rest of the files
COPY . .
# Build the react application
RUN npm run build
# Runner image
FROM nginx:1.23.3-alpine
# Copy the nginx configuration
COPY ./docker/default.conf.template /etc/nginx/templates/default.conf.template
# Copy the built react application to the nginx folder
COPY --from=builder /app/dist /usr/share/nginx/html
# Required NGINX env variables
ENV NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx/conf.d
# Default env variables
ENV PORT=80
ENV HOST=0.0.0.0

View file

@ -0,0 +1,25 @@
server {
listen $PORT;
root /usr/share/nginx/html;
index index.html;
server_tokens off;
server_name _;
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 0;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
location / {
try_files $uri /index.html;
}
}