File size: 2,227 Bytes
eed6dfe
 
ff17fc2
b75aa0b
eed6dfe
 
4ff5731
b2bcd2f
cd947b9
 
 
b2bcd2f
92f0c53
 
 
 
 
 
 
8fd8541
 
 
 
6a60d4c
 
8fd8541
 
 
 
6a60d4c
b75aa0b
ff17fc2
 
b8805b9
23ca858
b75aa0b
 
7a7785f
37685b8
23ca858
a9fec65
 
 
 
eed6dfe
 
ff17fc2
b75aa0b
37685b8
ff17fc2
b75aa0b
a9fec65
 
 
 
ff17fc2
b75aa0b
eed6dfe
 
b75aa0b
ff17fc2
 
eed6dfe
 
 
 
b75aa0b
46813f8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Use an official Python runtime as a parent image
FROM python:3.9-slim

# Set environment variables for Python
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set environment variables
#ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
#ENV PATH="/home/user/.local/bin:$PATH"
#ENV HF_HOME="/app/.cache/huggingface"

# Set environment variables for Hugging Face cache to /tmp (which is writable)
ENV TRANSFORMERS_CACHE=/tmp/huggingface
ENV HF_HOME=/tmp/huggingface

# Ensure permissions are correct (optional, but just in case)
RUN mkdir -p /tmp/huggingface && chmod -R 777 /tmp/huggingface

# Create cache directories
RUN mkdir -p /app/.cache/huggingface /app/.cache/matplotlib

# Set environment variables for Hugging Face and Matplotlib cache
ENV TRANSFORMERS_CACHE=/app/.cache/huggingface
ENV HF_HOME=/app/.cache/huggingface
ENV MPLCONFIGDIR=/app/.cache/matplotlib

# Adding permission for the cache
RUN chmod -R 777 /app/.cache

# Set the working directory
WORKDIR /app

# Install system dependencies, including libgomp
RUN apt-get update && apt-get install -y \
    libgl1-mesa-glx \
    libgomp1 \
    libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

# Set environment variables for Huggingface and Matplotlib cache directories
ENV MPLCONFIGDIR=/tmp/matplotlib
ENV TRANSFORMERS_CACHE=/tmp/transformers_cache

# Copy the requirements file into the container at /app
COPY requirements.txt /app/

# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir --upgrade -r requirements.txt

# Create directories for session storage and uploads
#RUN mkdir -p /app/flask_sessions /app/uploads && chmod -R 777 /app/flask_sessions /app/uploads

# Create directories for session storage, uploads, and cache
RUN mkdir -p /app/flask_sessions /app/uploads /tmp/matplotlib /tmp/transformers_cache && chmod -R 777 /app/flask_sessions /app/uploads /tmp/matplotlib /tmp/transformers_cache

# Copy the rest of the application code to /app
COPY . /app/

# Expose the port that the app runs on
EXPOSE 7860

# Set environment variables for Flask
ENV FLASK_APP=app.py
ENV FLASK_ENV=production

# Command to run the Flask app using Gunicorn
CMD ["gunicorn", "-w", "1", "-b", "0.0.0.0:7860", "--timeout", "120", "app:app"]