Update Dockerfile
Browse files- Dockerfile +14 -1
Dockerfile
CHANGED
@@ -8,6 +8,13 @@ RUN apt-get update && apt-get install -y \
|
|
8 |
libglib2.0-0 \
|
9 |
&& rm -rf /var/lib/apt/lists/*
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
# Set working directory
|
12 |
WORKDIR /app
|
13 |
|
@@ -21,13 +28,19 @@ RUN pip install --no-cache-dir -r requirements.txt
|
|
21 |
RUN python -m spacy download en_core_web_md
|
22 |
|
23 |
# Copy application code
|
24 |
-
COPY . .
|
25 |
|
26 |
# Set environment variables
|
27 |
ENV FLASK_APP=app.py
|
28 |
ENV FLASK_ENV=production
|
29 |
ENV PYTHONUNBUFFERED=1
|
30 |
ENV CUDA_VISIBLE_DEVICES=""
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
# Expose port
|
33 |
EXPOSE 8000
|
|
|
8 |
libglib2.0-0 \
|
9 |
&& rm -rf /var/lib/apt/lists/*
|
10 |
|
11 |
+
# Create non-root user
|
12 |
+
RUN useradd -m -u 1000 appuser
|
13 |
+
|
14 |
+
# Create necessary directories with proper permissions
|
15 |
+
RUN mkdir -p /app /app/logs /app/cache && \
|
16 |
+
chown -R appuser:appuser /app
|
17 |
+
|
18 |
# Set working directory
|
19 |
WORKDIR /app
|
20 |
|
|
|
28 |
RUN python -m spacy download en_core_web_md
|
29 |
|
30 |
# Copy application code
|
31 |
+
COPY --chown=appuser:appuser . .
|
32 |
|
33 |
# Set environment variables
|
34 |
ENV FLASK_APP=app.py
|
35 |
ENV FLASK_ENV=production
|
36 |
ENV PYTHONUNBUFFERED=1
|
37 |
ENV CUDA_VISIBLE_DEVICES=""
|
38 |
+
ENV TRANSFORMERS_CACHE="/app/cache"
|
39 |
+
ENV HF_HOME="/app/cache"
|
40 |
+
ENV XDG_CACHE_HOME="/app/cache"
|
41 |
+
|
42 |
+
# Switch to non-root user
|
43 |
+
USER appuser
|
44 |
|
45 |
# Expose port
|
46 |
EXPOSE 8000
|