File size: 1,140 Bytes
66030fa
511bc62
c0616b4
 
6992e29
66030fa
da5c857
6992e29
da5c857
6992e29
da5c857
f1bd50d
da5c857
66030fa
 
0d321d4
da5c857
 
 
 
7182945
da5c857
 
7182945
66030fa
 
ea37cb1
da5c857
 
6992e29
c0616b4
66030fa
6992e29
66030fa
 
3b6b10b
66030fa
da5c857
6992e29
66030fa
 
 
 
 
da5c857
7950999
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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"]