Update Dockerfile
Browse files- Dockerfile +9 -6
Dockerfile
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
-
# Dockerfile
|
2 |
FROM python:3.9-slim
|
3 |
|
4 |
-
# System dependencies
|
5 |
RUN apt-get update && \
|
6 |
apt-get install -y \
|
7 |
gcc \
|
@@ -10,6 +9,9 @@ RUN apt-get update && \
|
|
10 |
xvfb \
|
11 |
fonts-liberation \
|
12 |
fonts-dejavu \
|
|
|
|
|
|
|
13 |
&& rm -rf /var/lib/apt/lists/*
|
14 |
|
15 |
# Create non-root user and cache directory
|
@@ -34,8 +36,9 @@ RUN python -c "from accelerate.utils import write_basic_config; write_basic_conf
|
|
34 |
chown -R appuser:appuser /app/.cache
|
35 |
|
36 |
# Pre-download model (GPT-2 Medium)
|
37 |
-
RUN python -c "from transformers import
|
38 |
-
|
|
|
39 |
chown -R appuser:appuser /app/.cache
|
40 |
|
41 |
# Copy application code
|
@@ -44,5 +47,5 @@ COPY --chown=appuser:appuser . .
|
|
44 |
# Switch to non-root user
|
45 |
USER appuser
|
46 |
|
47 |
-
# Runtime configuration
|
48 |
-
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--timeout", "
|
|
|
|
|
1 |
FROM python:3.9-slim
|
2 |
|
3 |
+
# System dependencies with improved virtual display and fonts support
|
4 |
RUN apt-get update && \
|
5 |
apt-get install -y \
|
6 |
gcc \
|
|
|
9 |
xvfb \
|
10 |
fonts-liberation \
|
11 |
fonts-dejavu \
|
12 |
+
fonts-noto \
|
13 |
+
fonts-noto-cjk \
|
14 |
+
fonts-freefont-ttf \
|
15 |
&& rm -rf /var/lib/apt/lists/*
|
16 |
|
17 |
# Create non-root user and cache directory
|
|
|
36 |
chown -R appuser:appuser /app/.cache
|
37 |
|
38 |
# Pre-download model (GPT-2 Medium)
|
39 |
+
RUN python -c "from transformers import AutoModelForCausalLM, AutoTokenizer; \
|
40 |
+
model = AutoModelForCausalLM.from_pretrained('gpt2-medium', use_safetensors=True); \
|
41 |
+
tokenizer = AutoTokenizer.from_pretrained('gpt2-medium')" && \
|
42 |
chown -R appuser:appuser /app/.cache
|
43 |
|
44 |
# Copy application code
|
|
|
47 |
# Switch to non-root user
|
48 |
USER appuser
|
49 |
|
50 |
+
# Runtime configuration with improved timeout for model loading and PDF generation
|
51 |
+
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--timeout", "900", "--workers", "1", "--preload", "app:app"]
|