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"]
 |