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