FROM node:20-bookworm-slim

# Install FFmpeg and essential tools
RUN apt-get update && apt-get install -y --no-install-recommends \
    ffmpeg \
    fonts-dejavu-core \
    ca-certificates \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

# Install dependencies
COPY package*.json ./
RUN npm ci --omit=dev || npm install --omit=dev

# Copy application files
COPY . .

# Ensure storage directories exist
RUN mkdir -p data/temp data/uploads data/renders

# Rechte an den built-in 'node' User (UID 1000) übergeben und User wechseln
RUN chown -R node:node /app
USER node

EXPOSE 3000
ENV PORT=3000
ENV NODE_ENV=production

CMD ["node", "server.mjs"]
