|
FROM jupyter/scipy-notebook |
|
|
|
|
|
RUN useradd -m -u 1000 user |
|
|
|
|
|
ENV HOME=/home/user \ |
|
PATH=/home/user/.local/bin:$PATH |
|
|
|
|
|
WORKDIR $HOME/app |
|
|
|
|
|
USER root |
|
RUN apt-get update && apt-get install -y \ |
|
wget \ |
|
nginx \ |
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
USER user |
|
|
|
|
|
RUN pip install --no-cache-dir --upgrade pip |
|
|
|
|
|
COPY --chown=user requirements.txt . |
|
RUN pip install --user --no-cache-dir -r requirements.txt |
|
|
|
|
|
COPY --chown=user public $HOME/app/public |
|
|
|
|
|
COPY --chown=user jupyter_config.py $HOME/.jupyter/jupyter_config.py |
|
COPY --chown=user nginx.conf $HOME/nginx.conf |
|
COPY --chown=user entrypoint.sh $HOME/entrypoint.sh |
|
|
|
|
|
RUN chmod +x $HOME/entrypoint.sh |
|
|
|
|
|
USER root |
|
RUN mkdir -p /var/lib/nginx/body /var/lib/nginx/fastcgi \ |
|
/var/lib/nginx/proxy /var/lib/nginx/scgi \ |
|
/var/lib/nginx/uwsgi /var/log/nginx \ |
|
&& chown -R user:user /var/lib/nginx /var/log/nginx /var/run /run \ |
|
&& chmod 755 /var/lib/nginx /var/run /run |
|
|
|
|
|
RUN touch /var/log/nginx/error.log /var/log/nginx/access.log \ |
|
&& chown user:user /var/log/nginx/error.log /var/log/nginx/access.log |
|
|
|
|
|
RUN mkdir -p /data && chown user:user /data && chmod 777 /data |
|
|
|
USER user |
|
|
|
|
|
EXPOSE 8888 7860 |
|
|
|
|
|
ENV JUPYTERLAB_PORT=8888 \ |
|
NGINX_PORT=7860 |
|
|
|
|
|
ENTRYPOINT ["$HOME/entrypoint.sh"] |