# FROM nvidia/cuda:11.0-cudnn8-devel-ubuntu18.04 AS builder
FROM pytorch/pytorch:1.7.1-cuda11.0-cudnn8-devel AS builder

RUN sed -i 's#archive.ubuntu.com#mirrors.aliyun.com#g' /etc/apt/sources.list  \
    && sed -i 's#security.ubuntu.com#mirrors.aliyun.com#g' /etc/apt/sources.list

ENV LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_ALL=zh_CN.UTF-8 DEBIAN_FRONTEND=noninteractive

RUN rm -rf  /etc/apt/sources.list.d/  && apt update

RUN apt-get update && apt-get install -y --no-install-recommends \
    supervisor \
    iputils-ping \
    wget \
    zsh \
    build-essential \
    cmake \
    git \
    curl \
    vim \
    ca-certificates \
    libjpeg-dev \
    zip \
    unzip \
    libpng-dev \
    openssh-server \
    autojump \
    language-pack-zh-hans \
    ttf-wqy-zenhei \
    libgl1-mesa-glx  \
    libglib2.0-0 \
    locales &&\
    rm -rf /var/lib/apt/lists/*


RUN locale-gen zh_CN.UTF-8
RUN dpkg-reconfigure locales


CMD ["supervisord", "-n"]

FROM builder as builder1

# ENV PYTHON_VERSION 3
# RUN chsh -s `which zsh`
# RUN curl -o ~/miniconda.sh -O  https://repo.anaconda.com/miniconda/Miniconda${PYTHON_VERSION}-latest-Linux-x86_64.sh && \
#     chmod +x ~/miniconda.sh && \
#     ~/miniconda.sh -b -p /opt/conda && \
#     rm ~/miniconda.sh

RUN ln /opt/conda/bin/conda /usr/local/bin/conda
RUN conda init zsh
RUN #conda install mamba -n base -c conda-forge
RUN #ln /opt/conda/bin/mamba /usr/local/bin/mamba && mamba init zsh



FROM builder1 as builder2

RUN apt-get update && apt-get install -y --no-install-recommends openssh-server && rm -rf /var/lib/apt/lists/*
RUN mkdir /var/run/sshd
RUN echo 'root:root' | chpasswd
RUN sed -i 's/.*PermitRootLogin .*/PermitRootLogin yes/' /etc/ssh/sshd_config
# SSH login fix. Otherwise user is kicked off after login
RUN sed -i 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' /etc/pam.d/sshd

RUN echo "\
[program:sshd] \n\
command=/usr/sbin/sshd -D\n\
autorestart=True\n\
autostart=True\n\
redirect_stderr = true\n\
" > /etc/supervisor/conf.d/sshd.conf

EXPOSE 22

FROM builder2 as builder3

WORKDIR /workspace
ADD environment.yml /environment.yml
RUN sed -i 's#- paddlepaddle#- paddlepaddle-gpu==2.3.0.post110#g' /environment.yml && cat /environment.yml
# RUN conda update -n base -c defaults conda -y && conda env update -f /environment.yml && rm -rf /root/.cache
RUN mamba update -n base -c defaults conda -y && mamba env create -f /environment.yml && rm -rf /root/.cache

# RUN /opt/conda/envs/py38/bin/python -m ipykernel install --name py38 --display-name "py38"
# RUN echo "c.MultiKernelManager.default_kernel_name = 'py38'">>/root/.jupyter/jupyter_notebook_config.py
RUN echo "\
[program:be]\n\
directory=/workspace\n\
command=/opt/conda/bin/python run.py \n\
autorestart=true\n\
startretries=0\n\
redirect_stderr=true\n\
stdout_logfile=/var/log/be.log\n\
stdout_logfile_maxbytes=50MB\n\
environment=CUDA_VISIBLE_DEVICES=0,PYTHONPATH=/worksapce/yolov7\n\
" > /etc/supervisor/conf.d/be.conf

# envs/py38/

RUN git clone http://gogs.soaringnova.com/sxwl_DL/yolov7.git
# RUN wget --user=sxkj --password='sx' ftp://192.168.199.208/yili.pt
# RUN wget --user=sxkj --password='sx' ftp://192.168.199.208/best.pt
# RUN wget --user=sxkj --password='sx' ftp://192.168.199.208/best2.pt
#RUN wget --user=sxkj --password='sx' ftp://192.168.199.208/8-14_layout_model.pt
#RUN wget --user=sxkj --password='sx' ftp://192.168.199.208/0822yili.pt
RUN wget  ftp://192.168.199.31/yiliv7_718.pt
# RUN wget  ftp://192.168.199.31/logo.pt


ADD . /workspace
EXPOSE 8080



# RUN mamba install -y jupyterlab -n base && mamba init zsh
# RUN /opt/conda/bin/jupyter notebook --generate-config && \
#     echo "c.NotebookApp.password='argon2:\$argon2id\$v=19\$m=10240,t=10,p=8\$+zIUCF9Uk2FiCHlV8njX5A\$I5Mm/64DORArcXYTXWRVng'">>/root/.jupyter/jupyter_notebook_config.py


# RUN mkdir -p /data && echo "\
# [program:jupyter]\n\
# directory=/data\n\
# command=/opt/conda/bin/jupyter lab --ip 0.0.0.0 --port 8888 --allow-root --no-browser \n\
# autorestart=true\n\
# startretries=0\n\
# redirect_stderr=true\n\
# stdout_logfile=/dev/stdout\n\
# stdout_logfile_maxbytes=0\n\
# " > /etc/supervisor/conf.d/jupyter.conf

# EXPOSE 8888
