ARG FROM_VERSION
FROM 353750902984.dkr.ecr.us-east-1.amazonaws.com/h2o-3/dev-jdk-8-base:${FROM_VERSION}

ENV NODE_MAJOR '20'

RUN \
  add-apt-repository -y ppa:deadsnakes && \
  apt-get update && apt-get install -y ca-certificates curl gnupg &&  mkdir -p /etc/apt/keyrings && \
  curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --no-tty --yes --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
  echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
  apt-get update -q -y && \
  DEBIAN_FRONTEND=noninteractive apt-get install -y \
        gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 \
        libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 \
        libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libx11-xcb-dev libxcb1 libxcomposite1 libxcomposite-dev \
        libxcursor1 libxcursor-dev libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
        ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils libblas-dev liblapack-dev \
        libgbm1 libkrb5-dev nodejs && \
    apt-get clean && \
    rm -rf /var/cache/apt/* && \
    wget "https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F1244635%2Fchrome-linux.zip?alt=media" -O chrome-linux.zip && \
    unzip chrome-linux.zip -d /opt/ && \
    rm chrome-linux.zip && \
    ln -s /opt/chrome-linux/chrome /usr/bin/chromium-browser

ENV CHROME_BIN=/usr/bin/chromium-browser

RUN \
    wget -q https://github.com/jgm/pandoc/releases/download/2.1.1/pandoc-2.1.1-linux.tar.gz && \
    tar xzf pandoc-2.1.1-linux.tar.gz --strip-components 1 -C /usr/local/ && \
    rm -rf pandoc-2.1.1-linux.tar.gz

COPY scripts/install_python_version /tmp
RUN \
    chmod +x /tmp/install_python_version
