FROM jupyter/scipy-notebook # Set the working directory to /app WORKDIR /app # Copy the requirements file COPY requirements.txt . COPY public /app/public # Switch to root user to install system packages and set permissions USER root # Install the dependencies RUN apt-get update && apt-get install -y wget nginx && pip install -r requirements.txt # Copy the configuration files and entrypoint script COPY jupyter_config.py /etc/jupyter/jupyter_config.py COPY nginx.conf /etc/nginx/nginx.conf COPY entrypoint.sh /app/entrypoint.sh # Set the entrypoint script as executable RUN chmod +x /app/entrypoint.sh # Set the permissions for the app directory to the existing user RUN chown -R ${NB_UID}:${NB_GID} /app # Switch back to the original user USER ${NB_UID} # Set the working directory for the user WORKDIR /home/${NB_USER}/app # Expose the port 8888 for JupyterLab EXPOSE 8888 # Expose the port 7860 for Nginx EXPOSE 7860 # Set the environment variables ENV JUPYTERLAB_PORT=8888 ENV JUPYTERLAB_TOKEN=your_secret_token ENV NGINX_PORT=7860 # Run the entrypoint script when the container starts ENTRYPOINT ["/app/entrypoint.sh"]