1
0
Fork 0

Add: Dockerfile & nginx config for container prod setup

This commit is contained in:
Aroy-Art 2025-05-19 09:52:23 +02:00
parent ccc8eb7264
commit 839aace50c
Signed by: Aroy
GPG key ID: 583642324A1D2070
2 changed files with 52 additions and 0 deletions

31
Dockerfile Normal file
View file

@ -0,0 +1,31 @@
### STAGE 1: Build ###
FROM node:lts-alpine AS build
#### make the 'app' folder the current working directory
WORKDIR /usr/src/app
#### copy both 'package.json' and 'package-lock.json' (if available)
COPY package*.json ./
#### install angular cli
RUN npm install -g @angular/cli
#### install project dependencies
RUN npm install
#### copy things
COPY . .
#### generate build --prod
RUN npm run build --prod
### STAGE 2: Run ###
FROM nginxinc/nginx-unprivileged
#### copy nginx conf
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
#### copy artifact build from the 'build environment'
COPY --from=build /usr/src/app/dist/bookproject /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]

21
nginx.conf Normal file
View file

@ -0,0 +1,21 @@
server {
listen 0.0.0.0:8080;
listen [::]:8080;
default_type application/octet-stream;
gzip on;
gzip_comp_level 6;
gzip_vary on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_buffers 16 8k;
gunzip on;
client_max_body_size 256M;
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ /index.html =404;
}
}