## Build cuda image
#FROM nvidia/cuda:11.3.1-cudnn8-runtime-ubuntu20.04
#FROM nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04
FROM nvidia/cuda:11.3.1-base-ubuntu20.04
ENV DEBIAN_FRONTEND=noninteractive

#Install core packages
RUN apt-get update && apt-get install -y \
      libncurses5 python3 python3-pip curl git apt-utils ssh ca-certificates \
      tmux nano vim sudo bash rsync htop wget unzip python3.8-venv \
      python3-virtualenv python3-distutils python3-numpy tini && \
    update-alternatives --install /usr/bin/python python /usr/bin/python3 1 && \
    update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 && \
    pip3 install --no-cache-dir --upgrade pip

#Install Python deps
#RUN pip3 install --no-cache-dir prometheus_client websockets PyNaCl retry dotmap icecream sentry-sdk numpy gpustat
RUN pip3 install --no-cache-dir torch==1.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
RUN pip3 install --no-cache-dir numpy nltk
WORKDIR /usr/src/app
COPY . .
RUN pip3 install -r vits/requirements.txt
RUN apt-get update && apt-get install -y espeak lame opus-tools ffmpeg --fix-missing
WORKDIR /usr/src/app/vits/monotonic_align
RUN python3 setup.py build_ext --inplace
RUN pip3 install sentry_sdk
WORKDIR /usr/src/app
RUN python3 install_punkt.py

#Open ports
EXPOSE 8080
EXPOSE 80
EXPOSE 443
EXPOSE 4369
EXPOSE 5672
EXPOSE 25672
EXPOSE 15672
EXPOSE 15692
EXPOSE 50051
#Copy node src and run

CMD ["python3", "main.py"]