FROM node:22-alpine # Install ffmpeg for video processing RUN apk add --no-cache ffmpeg # Set working directory WORKDIR /app # Install dependencies COPY package*.json ./ RUN npm ci # Copy source code COPY . . # Create uploads directory RUN mkdir -p uploads/videos uploads/thumbnails uploads/subtitles uploads/transcripts uploads/documents uploads/textversions # Create a non-root user RUN addgroup -S appgroup && adduser -S appuser -G appgroup RUN chown -R appuser:appgroup /app # Switch to non-root user USER appuser # Expose port EXPOSE 4000 # Start development server with hot reloading CMD ["npm", "run", "dev"]