You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							644 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							644 B
						
					
					
				
								# Build stage
							 | 
						|
								FROM node:22-alpine3.20 AS builder
							 | 
						|
								
							 | 
						|
								# Install build dependencies
							 | 
						|
								
							 | 
						|
								RUN apk add --no-cache bash git python3 py3-pip py3-setuptools make g++ gcc
							 | 
						|
								
							 | 
						|
								# Set working directory
							 | 
						|
								WORKDIR /app
							 | 
						|
								
							 | 
						|
								# Copy package files
							 | 
						|
								COPY package*.json ./
							 | 
						|
								
							 | 
						|
								# Install dependencies
							 | 
						|
								RUN npm ci
							 | 
						|
								
							 | 
						|
								# Copy source code
							 | 
						|
								COPY . .
							 | 
						|
								
							 | 
						|
								# Build the application
							 | 
						|
								RUN npm run build:web
							 | 
						|
								
							 | 
						|
								# Production stage
							 | 
						|
								FROM nginx:alpine
							 | 
						|
								
							 | 
						|
								# Copy built assets from builder stage
							 | 
						|
								COPY --from=builder /app/dist /usr/share/nginx/html
							 | 
						|
								
							 | 
						|
								# Copy nginx configuration if needed
							 | 
						|
								# COPY nginx.conf /etc/nginx/conf.d/default.conf
							 | 
						|
								
							 | 
						|
								# Expose port 80
							 | 
						|
								EXPOSE 80
							 | 
						|
								
							 | 
						|
								# Start nginx
							 | 
						|
								CMD ["nginx", "-g", "daemon off;"] 
							 |