shoom013 commited on
Commit
5b8842a
·
verified ·
1 Parent(s): 78166e7

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +24 -2
Dockerfile CHANGED
@@ -31,6 +31,7 @@ RUN rm -f /etc/apt/sources.list.d/*.list && \
31
  ffmpeg \
32
  xvfb \
33
  icecast2 \
 
34
  && rm -rf /var/lib/apt/lists/*
35
 
36
  RUN add-apt-repository ppa:flexiondotorg/nvtop && \
@@ -48,12 +49,27 @@ WORKDIR /app
48
  RUN adduser --disabled-password --gecos '' --shell /bin/bash user \
49
  && chown -R user:user /app
50
  RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
 
51
  USER user
52
 
53
  # All users can use /home/user as their home directory
54
  ENV HOME=/home/user
55
  RUN mkdir $HOME/.cache $HOME/.config \
56
- && chmod -R 777 $HOME
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
  # Set up the Conda environment
59
  ENV CONDA_AUTO_UPDATE_CONDA=false \
@@ -84,6 +100,11 @@ RUN --mount=target=/root/on_startup.sh,source=on_startup.sh,readwrite \
84
 
85
  RUN mkdir /data && chown user:user /data
86
 
 
 
 
 
 
87
  #######################################
88
  # End root user section
89
  #######################################
@@ -98,6 +119,7 @@ RUN --mount=target=requirements.txt,source=requirements.txt \
98
  COPY --chown=user . $HOME/app
99
 
100
  RUN chmod +x start_server.sh
 
101
 
102
  COPY --chown=user login.html /home/user/miniconda/lib/python3.9/site-packages/jupyter_server/templates/login.html
103
 
@@ -109,4 +131,4 @@ ENV PYTHONUNBUFFERED=1 \
109
  SYSTEM=spaces \
110
  SHELL=/bin/bash
111
 
112
- CMD ["./start_server.sh"]
 
31
  ffmpeg \
32
  xvfb \
33
  icecast2 \
34
+ nginx \
35
  && rm -rf /var/lib/apt/lists/*
36
 
37
  RUN add-apt-repository ppa:flexiondotorg/nvtop && \
 
49
  RUN adduser --disabled-password --gecos '' --shell /bin/bash user \
50
  && chown -R user:user /app
51
  RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
52
+
53
  USER user
54
 
55
  # All users can use /home/user as their home directory
56
  ENV HOME=/home/user
57
  RUN mkdir $HOME/.cache $HOME/.config \
58
+ && chmod -R 777 $HOME && chmod -R 777 /tmp
59
+
60
+ # Copy configuration files
61
+ COPY icecast.xml .
62
+ COPY nginx.conf .
63
+ COPY setup.sc .
64
+ COPY start.sh .
65
+
66
+ # Install FoxDot Quark (needs to be done as the user)
67
+ # We run Xvfb momentarily just in case sclang needs a display (usually doesn't for CLI, but safe)
68
+ # 'xvfb-run' is a handy wrapper if we had it, but we can just run sclang directly for CLI text.
69
+ RUN sclang setup.sc
70
+
71
+ # Standardize SC directories for the user (optional but good for debugging)
72
+ RUN mkdir -p /home/user/.local/share/SuperCollider/Extensions
73
 
74
  # Set up the Conda environment
75
  ENV CONDA_AUTO_UPDATE_CONDA=false \
 
100
 
101
  RUN mkdir /data && chown user:user /data
102
 
103
+ # Fix permissions
104
+ RUN chown -R user:user /app && chmod +x start.sh && mkdir -p /app/logs && chown -R user:user /app/logs && \
105
+ mkdir -p /var/log/nginx && chown -R user:user /var/log/nginx && \
106
+ mkdir -p /var/lib/nginx && chown -R user:user /var/lib/nginx
107
+
108
  #######################################
109
  # End root user section
110
  #######################################
 
119
  COPY --chown=user . $HOME/app
120
 
121
  RUN chmod +x start_server.sh
122
+ RUN chmod +x start.sh
123
 
124
  COPY --chown=user login.html /home/user/miniconda/lib/python3.9/site-packages/jupyter_server/templates/login.html
125
 
 
131
  SYSTEM=spaces \
132
  SHELL=/bin/bash
133
 
134
+ CMD ["./start.sh"]