FROM python:3.12


# 1: GIT

RUN apt-get update && \

    apt-get install -y --no-install-recommends \

    curl \

    unixodbc-dev \

    gnupg2 \

    apt-transport-https \

    ca-certificates \

    git && \

    apt-get clean && \

    rm -rf /var/lib/apt/lists/*


# 2: Microsoft ODBC Driver

RUN curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg && \

    chmod a+r /etc/apt/keyrings/microsoft.gpg && \

    echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/microsoft.gpg] https://packages.microsoft.com/debian/12/prod bookworm main" | tee /etc/apt/sources.list.d/mssql-release.list && \

    apt-get update && \

    ACCEPT_EULA=Y apt-get install -y --no-install-recommends \

    msodbcsql18 \

    mssql-tools18 && \

    apt-get clean && \

    rm -rf /var/lib/apt/lists/*


# 3: Python dbt

RUN pip install --no-cache-dir dbt-core dbt-fabric dbt-postgres


WORKDIR /app


# 4: Copy profiles.yml

RUN mkdir -p /root/.dbt

COPY profiles.yml /root/.dbt/profiles.yml


# 5: Dockerfilerun.sh

COPY Dockerfilerun.sh /usr/local/bin/Dockerfilerun.sh

RUN chmod +x /usr/local/bin/Dockerfilerun.sh


# 6: CMD script run

CMD ["/usr/local/bin/Dockerfilerun.sh"]