# base image
FROM python:3.10.16-slim

# set working directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# add requirements (to leverage Docker cache)
ADD ./requirements.txt /usr/src/app/requirements.txt

# required for gdal to work
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    gdal-bin \
    libgdal-dev \
    python3-gdal

RUN export CPLUS_INCLUDE_PATH=/usr/include/gdal
RUN export C_INCLUDE_PATH=/usr/include/

RUN pip install GDAL=="`gdal-config --version`"
RUN pip install wheel

# upgrade pip and install requirements
RUN pip install --upgrade pip \
    && pip install -r requirements.txt

ENV PYTHONPATH="/usr/src/app"
