35 lines
		
	
	
		
			700 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			700 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| 
								 | 
							
								FROM node:22-alpine
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Create app directory
							 | 
						||
| 
								 | 
							
								WORKDIR /usr/src/app
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Install ffmpeg for audio processing
							 | 
						||
| 
								 | 
							
								RUN apk add --no-cache ffmpeg
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Copy package files
							 | 
						||
| 
								 | 
							
								COPY package*.json ./
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Install dependencies
							 | 
						||
| 
								 | 
							
								RUN npm install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Copy source code
							 | 
						||
| 
								 | 
							
								COPY . .
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Build TypeScript code
							 | 
						||
| 
								 | 
							
								RUN npm run build
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Create audio directory in dist and copy audio files
							 | 
						||
| 
								 | 
							
								RUN mkdir -p dist/audio
							 | 
						||
| 
								 | 
							
								RUN cp -r src/audio/* dist/audio/ 2>/dev/null || :
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Make startup script executable
							 | 
						||
| 
								 | 
							
								COPY docker-start.sh /usr/src/app/docker-start.sh
							 | 
						||
| 
								 | 
							
								RUN chmod +x /usr/src/app/docker-start.sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Set environment variables
							 | 
						||
| 
								 | 
							
								ENV NODE_ENV=production
							 | 
						||
| 
								 | 
							
								ENV AUDIO_DIR=/usr/src/app/dist/audio
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Command to run the app
							 | 
						||
| 
								 | 
							
								CMD ["/usr/src/app/docker-start.sh"]
							 |