Spaces:
Sleeping
Sleeping
Raymond Weitekamp commited on
Commit ·
09d544d
1
Parent(s): 270241f
Fix ocp_vscode config file permissions by running as non-root user
Browse files- Dockerfile +12 -2
Dockerfile
CHANGED
|
@@ -25,6 +25,12 @@ RUN mkdir -p /.cache/ezdxf && \
|
|
| 25 |
# Set OCP_VSCODE_LOCK_DIR environment variable
|
| 26 |
ENV OCP_VSCODE_LOCK_DIR=/tmp/ocpvscode
|
| 27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
# Install uv and create virtual environment
|
| 29 |
RUN pip install uv && \
|
| 30 |
uv venv /opt/venv
|
|
@@ -46,10 +52,14 @@ RUN wget https://github.com/gitpod-io/openvscode-server/releases/download/openvs
|
|
| 46 |
tar -xzf /tmp/openvscode-server.tar.gz -C /opt && \
|
| 47 |
rm /tmp/openvscode-server.tar.gz && \
|
| 48 |
mv /opt/openvscode-server-v1.86.2-linux-x64 /opt/openvscode-server && \
|
| 49 |
-
chown -R
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
|
| 51 |
# Expose port 7860 for Hugging Face Spaces
|
| 52 |
EXPOSE 7860
|
| 53 |
|
| 54 |
# Run the application
|
| 55 |
-
CMD ["
|
|
|
|
| 25 |
# Set OCP_VSCODE_LOCK_DIR environment variable
|
| 26 |
ENV OCP_VSCODE_LOCK_DIR=/tmp/ocpvscode
|
| 27 |
|
| 28 |
+
# Create a non-root user and set up home directory
|
| 29 |
+
RUN useradd -m -d /home/appuser -s /bin/bash appuser && \
|
| 30 |
+
mkdir -p /home/appuser/.ocpvscode && \
|
| 31 |
+
chown -R appuser:appuser /home/appuser && \
|
| 32 |
+
chmod 777 /home/appuser/.ocpvscode
|
| 33 |
+
|
| 34 |
# Install uv and create virtual environment
|
| 35 |
RUN pip install uv && \
|
| 36 |
uv venv /opt/venv
|
|
|
|
| 52 |
tar -xzf /tmp/openvscode-server.tar.gz -C /opt && \
|
| 53 |
rm /tmp/openvscode-server.tar.gz && \
|
| 54 |
mv /opt/openvscode-server-v1.86.2-linux-x64 /opt/openvscode-server && \
|
| 55 |
+
chown -R appuser:appuser /opt/openvscode-server
|
| 56 |
+
|
| 57 |
+
# Switch to non-root user
|
| 58 |
+
USER appuser
|
| 59 |
+
ENV HOME=/home/appuser
|
| 60 |
|
| 61 |
# Expose port 7860 for Hugging Face Spaces
|
| 62 |
EXPOSE 7860
|
| 63 |
|
| 64 |
# Run the application
|
| 65 |
+
CMD ["python", "-c", "import cadviewer; from nicegui import app; app.native.start_args['port'] = 7860; cadviewer.ui.run(native=False, host='0.0.0.0', port=7860)"]
|