31 lines
649 B
Docker
31 lines
649 B
Docker
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"]
|