Spaces:
Sleeping
Sleeping
Commit ·
11e2c0d
1
Parent(s): a923a38
Enhance Dockerfile and startup script: add Ollama model directories with permissions, improve logging of user and directory status in startup script
Browse files- Dockerfile.fastapi +11 -6
- fastapi_startup_script.sh +8 -0
Dockerfile.fastapi
CHANGED
|
@@ -13,6 +13,12 @@ RUN curl -fsSL https://ollama.com/install.sh | sh
|
|
| 13 |
# Create non-root user for security
|
| 14 |
RUN groupadd -r appuser && useradd -r -g appuser -m appuser
|
| 15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
# Set working directory
|
| 17 |
WORKDIR /app
|
| 18 |
|
|
@@ -26,14 +32,13 @@ COPY fast.py .
|
|
| 26 |
COPY fastapi_startup_script.sh .
|
| 27 |
RUN chmod +x fastapi_startup_script.sh
|
| 28 |
|
| 29 |
-
# Create logs directory and
|
| 30 |
RUN mkdir -p /app/logs && \
|
| 31 |
-
|
| 32 |
-
mkdir -p /home/appuser/.ollama/models
|
| 33 |
|
| 34 |
-
#
|
| 35 |
-
|
| 36 |
-
|
| 37 |
|
| 38 |
# Switch to non-root user
|
| 39 |
USER appuser
|
|
|
|
| 13 |
# Create non-root user for security
|
| 14 |
RUN groupadd -r appuser && useradd -r -g appuser -m appuser
|
| 15 |
|
| 16 |
+
# Create Ollama directories with proper permissions
|
| 17 |
+
RUN mkdir -p /home/appuser/.ollama && \
|
| 18 |
+
mkdir -p /home/appuser/.ollama/models && \
|
| 19 |
+
chown -R appuser:appuser /home/appuser/.ollama && \
|
| 20 |
+
chmod -R 755 /home/appuser/.ollama
|
| 21 |
+
|
| 22 |
# Set working directory
|
| 23 |
WORKDIR /app
|
| 24 |
|
|
|
|
| 32 |
COPY fastapi_startup_script.sh .
|
| 33 |
RUN chmod +x fastapi_startup_script.sh
|
| 34 |
|
| 35 |
+
# Create logs directory and change ownership
|
| 36 |
RUN mkdir -p /app/logs && \
|
| 37 |
+
chown -R appuser:appuser /app
|
|
|
|
| 38 |
|
| 39 |
+
# Set environment variables for Ollama
|
| 40 |
+
ENV OLLAMA_HOME=/home/appuser/.ollama
|
| 41 |
+
ENV HOME=/home/appuser
|
| 42 |
|
| 43 |
# Switch to non-root user
|
| 44 |
USER appuser
|
fastapi_startup_script.sh
CHANGED
|
@@ -1,6 +1,14 @@
|
|
| 1 |
#!/bin/bash
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
# Start Ollama server in background
|
|
|
|
| 4 |
ollama serve &
|
| 5 |
|
| 6 |
# Wait for Ollama to start
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
|
| 3 |
+
# Debug: Check current user and permissions
|
| 4 |
+
echo "Current user: $(whoami)"
|
| 5 |
+
echo "Home directory: $HOME"
|
| 6 |
+
echo "Ollama home: $OLLAMA_HOME"
|
| 7 |
+
echo "Checking .ollama directory permissions:"
|
| 8 |
+
ls -la /home/appuser/.ollama/ || echo "Directory doesn't exist"
|
| 9 |
+
|
| 10 |
# Start Ollama server in background
|
| 11 |
+
echo "Starting Ollama server..."
|
| 12 |
ollama serve &
|
| 13 |
|
| 14 |
# Wait for Ollama to start
|