# Start with the AlmaLinux 8.10 base image
FROM git.query.consul/unkin/almalinux9:latest

# Clean and update the repository cache
RUN dnf clean all && \
    dnf makecache

# Install packages
RUN dnf install -y python3.12 python3.12-pip

# Cleanup
RUN dnf clean all && \
    rm -rf /var/cache/dnf

# create venv for jupyter
RUN python3.12 -m venv /opt/jupyter

# upgrade pip
RUN /opt/jupyter/bin/python -m pip install --upgrade pip

# install requirements for jupyterhub-singleinstance
RUN /opt/jupyter/bin/pip install \
  'jupyterhub==5.2.1' \
  'notebook==7.2.2'

# install additional python modules
RUN /opt/jupyter/bin/pip install \
    numpy \
    pandas \
    matplotlib \
    pyarrow \
    pyyaml

# create a user, since we don't want to run as root
RUN useradd -m jupyter
ENV HOME=/home/jupyter
RUN mkdir $HOME/work
RUN chown jupyter:jupyter $HOME/work
WORKDIR $HOME/work
USER jupyter

# set the default command
CMD ["/opt/jupyter/bin/jupyterhub-singleuser"]
