# SageMaker: legacy vidar variant for ECCV rebuttal AnyView runs.
# Mirrors Dockerfile_271-2stage but enables vidar PYTHONPATH and skips AnyData
# (their webdataset forks conflict; vidar pipelines need vidar's cv_datasets).
# FROMs cosmos-predict2-base:latest, which is built by Dockerfile_base alongside.

ARG AWS_REGION="us-west-2"
FROM 124224456861.dkr.ecr.us-west-2.amazonaws.com/cosmos-predict2-base:latest

COPY ./requirements-docker.txt /requirements.txt
RUN pip install --no-cache-dir -r /requirements.txt

################## from install.sh
RUN pip install lovely_tensors \
                wandb==0.16.6 \
                lpips

################## vidar PYTHONPATH ONLY (matches DGX 11_eccv.sh export).
# NOTE(bvh): AnyData is pip-installed below so its modules import, but its
# externals/webdataset fork is NOT on PYTHONPATH -- avoids shadowing the pip
# webdataset==0.2.111 that vidar/cv_datasets pipelines expect.
ENV PYTHONPATH=/opt/ml/code/externals/vidar/:${PYTHONPATH}
ENV PYTHONPATH=/opt/ml/code/externals/vidar/externals/cv_datasets/:${PYTHONPATH}

ENV SAGEMAKER_SUBMIT_DIRECTORY /opt/ml/code

COPY . ${SAGEMAKER_SUBMIT_DIRECTORY}

################## AnyData (installed but NOT on PYTHONPATH; webdataset fork skipped)
RUN pip install --no-cache-dir -e ${SAGEMAKER_SUBMIT_DIRECTORY}/externals/AnyData/ \
 && pip install --no-cache-dir numpy==1.26.4
# ^ numpy pin for compatibility (matches Dockerfile_271-2stage)

ENV TORCH_HOME="/opt/ml/code/torchhub"
RUN git config --global --add safe.directory ${SAGEMAKER_SUBMIT_DIRECTORY}
