| FROM pytorch/pytorch:2.4.0-cuda12.4-cudnn9-runtime | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| # GDAL required by rasterio and geopandas (terratorch deps) | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| libgdal-dev gdal-bin git build-essential \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # torchvision 0.19.0 matches torch 2.4.0 in the base image | |
| RUN pip install --no-cache-dir \ | |
| "torchvision==0.19.0" \ | |
| --extra-index-url https://download.pytorch.org/whl/cu124 | |
| # GDAL Python binding must match system GDAL version | |
| RUN pip install --no-cache-dir "GDAL==$(gdal-config --version)" | |
| # terratorch 1.2.7 with pinned deps: | |
| # - torchgeo>=0.7.2: Python 3.11 image allows it; 0.7.2 has SENTINEL2_ALL_SOFTCON | |
| # which terratorch's torchgeo_resnet.py requires at import time | |
| # - diffusers==0.30.0: stable API used by terramind tokenizer scheduler | |
| # - transformers<5: terratorch 1.2.x built against 4.x API | |
| RUN pip install --no-cache-dir \ | |
| "torchgeo==0.7.2" \ | |
| "terratorch==1.2.7" \ | |
| "diffusers==0.30.0" \ | |
| "transformers>=4.40.0,<5.0" \ | |
| "huggingface_hub>=0.20.0" | |
| WORKDIR /app | |
| COPY handler.py /app/handler.py | |
| COPY prithvi_mae.py /app/prithvi_mae.py | |
| COPY config.json /app/config.json | |