ARG PARENT_IMAGE=wowzamedia/wowza-streaming-engine-linux:4.10.0
FROM $PARENT_IMAGE AS parent

USER root

# Set working directory for the app
WORKDIR /app

# Copy all project files to /app
COPY . /app

# Install system dependencies and python3-venv for virtual environments
RUN apt-get update \
  && apt-get -y upgrade \
  && apt-get -y install curl lsb-release python3-pip python3-venv \
  && apt-get -y clean \
  && rm -rf /var/lib/apt/lists/*

# Create and activate Python virtual environment, install dependencies
RUN python3 -m venv /opt/venv \
  && /opt/venv/bin/pip install --upgrade pip \
  && /opt/venv/bin/pip install -r requirements.txt

# Set PATH to use venv Python and pip
ENV PATH="/opt/venv/bin:$PATH"

# Copy HLS jar file into the Wowza lib folder
COPY --chown=wowza:wowza hls/HLSEncryption.jar /usr/local/WowzaStreamingEngine/lib/HLSEncryption.jar

COPY entrypoint.py /app/entrypoint.py

EXPOSE 1935 8088

ENTRYPOINT ["python", "entrypoint.py"]
