FROM python:3.8

RUN apt-get update \
   && apt-get install -y locales \
   && rm -rf /var/lib/apt/lists/*

RUN ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime

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
ENV LANGUAGE=en_US.UTF-8

RUN useradd -ms /bin/bash appuser

WORKDIR /shazam-statistics
COPY --chown=appuser:appuser . /shazam-statistics

USER appuser
ENV PATH="/home/appuser/.local/bin:${PATH}"

RUN pip install --upgrade pip \
   && python -m pip install pipenv==2020.11.15 matplotlib sentry-sdk shazamio==0.0.5 aiohttp

RUN if [ -f /shazam-statistics/Pipfile.lock ]; then pipenv sync --system; fi

ARG Environment
ARG SNOWFLAKE_ROLE
ARG SNOWFLAKE_WAREHOUSE
ARG SNOWFLAKE_PASSWORD
ARG SNOWFLAKE_USER
ARG SNOWFLAKE_ACCOUNT
ARG SNOWFLAKE_DATABASE
ARG SNOWFLAKE_SCHEMA
ARG SENTRY_DSN
ARG SNOWFLAKE_DATABASE_POSTFIX

ENV Environment=$Environment
ENV SNOWFLAKE_ROLE=$SMOWFLAKE_ROLE
ENV SNOWFLAKE_WAREHOUSE=$SNOWFLAKE_WAREHOUSE
ENV SNOWFLAKE_PASSWORD=$SNOWFLAKE_PASSWORD
ENV SNOWFLAKE_USER=$SNOWFLAKE_USER
ENV SNOWFLAKE_ACCOUNT=$SNOWFLAKE_ACCOUNT
ENV SNOWFLAKE_DATABASE=$SNOWFLAKE_DATABASE
ENV SNOWFLAKE_SCHEMA=$SNOWFLAKE_SCHEMA
ENV SENTRY_DSN=$SENTRY_DSN
ENV SNOWFLAKE_DATABASE_POSTFIX=$SNOWFLAKE_DATABASE_POSTFIX

RUN python /shazam-statistics/shazam_with_shazamio.py
