Add docker file and nginx config
This commit is contained in:
		
							parent
							
								
									3dddb0af8d
								
							
						
					
					
						commit
						cf735f31bf
					
				
							
								
								
									
										25
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
ARG NODE_VERSION=22.14.0
 | 
			
		||||
 | 
			
		||||
FROM node:${NODE_VERSION}-alpine  AS development
 | 
			
		||||
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
 | 
			
		||||
RUN --mount=type=cache,target=/root/.npm
 | 
			
		||||
COPY package.json .
 | 
			
		||||
COPY package-lock.json .
 | 
			
		||||
 | 
			
		||||
RUN npm install
 | 
			
		||||
 | 
			
		||||
COPY . .
 | 
			
		||||
 | 
			
		||||
RUN npm run build
 | 
			
		||||
 | 
			
		||||
FROM nginx:alpine AS production
 | 
			
		||||
 | 
			
		||||
COPY --from=development /app/dist /usr/share/nginx/html
 | 
			
		||||
 | 
			
		||||
COPY nginx/nginx.conf /etc/nginx/conf.d/default.conf
 | 
			
		||||
 | 
			
		||||
EXPOSE 80
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT [ "nginx", "-g", "daemon off;" ]
 | 
			
		||||
							
								
								
									
										21
									
								
								nginx/nginx.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								nginx/nginx.conf
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
server {
 | 
			
		||||
    listen 80;
 | 
			
		||||
   
 | 
			
		||||
    root /usr/share/nginx/html;
 | 
			
		||||
    # Default file to serve for directory requests
 | 
			
		||||
    index index.html index.htm;
 | 
			
		||||
 | 
			
		||||
    location / {
 | 
			
		||||
        # Try to serve the requested file directly ($uri)
 | 
			
		||||
        # If it's a directory, try serving the index file ($uri/)
 | 
			
		||||
        # If neither exists, fall back to serving /index.html
 | 
			
		||||
        try_files $uri $uri/ /index.html;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    # Optional: Add cache control headers for static assets for better performance
 | 
			
		||||
    location ~* \.(?:css|js|jpg|jpeg|gif|png|ico|svg|webp)$ {
 | 
			
		||||
        expires 1y;
 | 
			
		||||
        add_header Cache-Control "public";
 | 
			
		||||
        access_log off; # Optional: Don't log accesses for static files
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user