FROM fedora:36
MAINTAINER Wendell Jones <wpjonesnh@gmail.com>

RUN echo 'defaultyes=True' >> /etc/dnf/dnf.conf
RUN echo 'vm.overcommit_memory = 1' >> sysctl.conf
RUN echo '127.0.0.1 localhost.localdomain localhost' >> /etc/hosts
RUN dnf update && dnf -y --assumeyes groupinstall 'Development Tools'
RUN dnf install -y gcc.x86_64 libgcc-12.0.1-0.16.fc36.x86_64 gcc-c++.x86_64 gcc-c++-x86_64-linux-gnu.x86_64
RUN dnf install -y  libarrow libarrow-devel.x86_64 libarrow-dataset-devel.x86_64 libarrow-dataset-glib-devel.x86_64 parquet-libs.x86_64 parquet-libs-devel.x86_64  parquet-glib-devel.x86_64 parquet-glib-libs.x86_64 # For C++
RUN dnf install -y python3.12.x86_64 python3.12-devel.x86_64 python3-pip.noarch cmake cmake.x86_64 cmake-data.noarch python3-pyarrow.x86_64 python3-pyarrow-devel.x86_64 # For Apache Parquet GLib (C)

ENV INSTALL_PATH /recovery
RUN mkdir -p $INSTALL_PATH

WORKDIR $INSTALL_PATH

COPY requirements.txt requirements.txt
RUN pip install --upgrade pip
RUN pip install arrow
RUN pip install -r requirements.txt
RUN pip install snowflake-connector-python

COPY . .
#RUN pip install --editable .

CMD gunicorn -b 0.0.0.0:8181 --workers 10 --timeout 900 --access-logfile - "recovery.app:create_app()"
