FROM python:3.13

LABEL maintainer="Jeffrey Phillips Freeman jeffrey.freeman@cleverthis.com"

ENV PYENV_ROOT="/.pyenv" \
    PATH="/.pyenv/bin:/.pyenv/shims:$PATH"

RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

RUN apt update -y && \
    apt-get upgrade -y && \
    apt-get dist-upgrade -y && \
    apt-get install -y --no-install-recommends \
      libssl-dev \
      libreadline-dev \
      libncursesw5-dev \
      libssl-dev \
      libsqlite3-dev \
      tk-dev \
      libgdbm-dev \
      libc6-dev \
      libbz2-dev \
      nano && \
    apt-get clean && \
    rm -r /var/lib/apt/lists/*

RUN pyenv install 3.13.3 && \
    pyenv install 3.12.10 && \
    pyenv install 3.11.12 && \
    pyenv install 3.10.17 && \
    pyenv install 3.9.21 && \
    pyenv install 3.8.20 && \
    pyenv install pypy-7.3.19 && \
    pyenv global 3.13.3 && \
    pyenv global 3.12.10 && \
    pyenv global 3.11.12 && \
    pyenv global 3.10.17 && \
    pyenv global 3.9.21 && \
    pyenv global 3.8.20 && \
    pyenv global pypy-7.3.19

RUN /.pyenv/versions/3.13.3/bin/python3.13 -m pip install --upgrade pip
RUN pip install tox

RUN mkdir -p /usr/src/boilerplate && \
    chmod a+rwx -R /usr/src/boilerplate && \
    mkdir /.cache && \
    chmod a+rwx /.cache && \
    mkdir /.tox && \
    chmod a+rwx /.tox

VOLUME /usr/src/boilerplate
