FROM continuumio/miniconda3:latest

RUN apt-get update && apt-get -y --no-install-recommends install \
    gosu

RUN conda config --add channels conda-forge && \
    conda config --set channel_priority true && \
    conda update --all && \
    conda install -c conda-forge satpy \
    pyresample \
    pykdtree \
    trollimage \
    pycoast \
    pyorbital \
    rasterio \
    gdal \
    h5py \
    ipython \
    pyinotify \
    pyzmq \
    h5netcdf \
    netifaces \
    meld3 \
    scp \
    paramiko \
    dpath \
    toolz \
    configobj && \
    conda clean -a -y
ADD requirements_stable.txt /tmp/
RUN pip install -r /tmp/requirements_stable.txt && \
    rm -r /tmp/requirements_stable.txt &&  \
    cd /tmp/ && \
    git clone https://github.com/Supervisor/supervisor.git && \
    cd supervisor && python setup.py install && \
    cd /tmp/ && rm -rf /tmp/supervisor/ && \
    git clone https://github.com/Supervisor/superlance.git && \
    cd superlance && python setup.py install && \
    cd /tmp/ && rm -rf /tmp/superlance/ && \
    python -c 'from pyspectral.utils import download_luts; \
      from pyspectral.utils import logging_on; import logging; \
      logging_on(logging.DEBUG); download_luts()' && \
    python -c 'from pyspectral.utils import download_rsr; \
      from pyspectral.utils import logging_on; import logging; \
      logging_on(logging.DEBUG); download_rsr()' && \
    mkdir -p /home/user/.local/share && \
    mv /root/.local/share/pyspectral /home/user/.local/share/
    
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["supervisord", "-c", "/mnt/config/supervisord.conf"]
