FROM ghcr.io/linuxserver/baseimage-alpine:edge

###############################################################################
# YTDL-SUB INSTALL

# Needed for phantomjs
ENV OPENSSL_CONF="/etc/ssl"

COPY root/ /
RUN mkdir -p /config && \
    apk update --no-cache && \
    apk upgrade --no-cache && \
    apk add --no-cache --repository=http://dl-3.alpinelinux.org/alpine/edge/main/ \
      vim \
      g++ \
      nano \
      make \
      libffi-dev \
      "python3>=3.10" \
      py3-pip \
      fontconfig \
      py3-setuptools && \
    # Install edge ffmpeg and aria2 from community, ensure they are properly installed
    apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
      "ffmpeg>5.1" \
      "aria2>=1.36.0" && \
    ffmpeg -version && \
    aria2c --version && \
    # Install phantomjs if using x86_64, ensure it is properly installed
    if [[ $(uname -m) == "x86_64" ]]; then \
      apk add --no-cache gcompat && \
      cd /usr/share && \
      curl -L https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 | tar xj && \
      mv /usr/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs phantomjs && \
      rm -rf /usr/share/phantomjs-2.1.1-linux-x86_64 && \
      ln -s /usr/share/phantomjs /usr/bin/phantomjs && \
      echo "Phantom JS version:" && \
      phantomjs --version && \
      cd -; \
    fi && \
    echo "hi" && \
    # Install ytdl-sub, ensure it is installed properly
    python3 -m pip install --break-system-packages --no-cache-dir ytdl_sub-*.whl && \
      ytdl-sub -h && \
    # Delete unneeded packages after install
    rm ytdl_sub-*.whl && \
    apk del \
      g++ \
      make \
      libffi-dev \
      py3-pip \
      py3-setuptools

###############################################################################
# CONTAINER CONFIGS

ENV EDITOR="nano" \
HOME="/config" \
DOCKER_MODS=linuxserver/mods:universal-stdout-logs|linuxserver/mods:universal-cron \
LOGS_TO_STDOUT=/config/cron_logs.txt

VOLUME /config