# ReStreamer Watchdog
# Bakes Node + ffmpeg + app deps into one image so users don't
# install anything at container start.
FROM node:18-bookworm-slim

# ffmpeg is required to push the looping fallback video to your platforms
RUN apt-get update \
    && apt-get install -y --no-install-recommends ffmpeg ca-certificates \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

# Install node deps first for better layer caching
COPY package*.json ./
RUN npm install --omit=dev

# App source
COPY server.js ./

# Persisted data (config.json + fallback video) lives here.
# Mount a host directory or named volume at /data.
ENV DATA_DIR=/data \
    PORT=1975
RUN mkdir -p /data
VOLUME ["/data"]

EXPOSE 1975

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