# Dockerfile

FROM python:3.11.12

WORKDIR /var/app

# Presence of these environment variables is required to install
# dbt dependencies below
ARG SNOWFLAKE_USER=
ARG SNOWFLAKE_PASSWORD=
ARG SNOWFLAKE_ROLE=
ARG SNOWFLAKE_DATABASE=
ARG SNOWFLAKE_WAREHOUSE=
ARG SNOWFLAKE_SCHEMA=
ARG SNOWFLAKE_PRIVATE_KEY_PATH=
ARG SNOWFLAKE_KEY_PASSPHRASE=

RUN pip install pipenv

# Explicitly set locale and related env vars to use en_US.UTF-8
RUN apt-get update
RUN apt-get install -y locales
RUN localedef -c -f UTF-8 -i en_US en_US.UTF-8
ENV LC_ALL=en_US.UTF-8
ENV LANG=en_US.UTF-8

# Install requirements
ADD Pipfile.lock /var/app/Pipfile.lock
RUN pipenv --python python3
RUN pipenv sync

# Add application
ADD . /var/app
RUN pipenv run dbt deps

# Set entrypoint to run views
ENTRYPOINT ["make", "run"]
