crackuser commited on
Commit
5706e71
·
verified ·
1 Parent(s): e5dbd70

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -36
Dockerfile CHANGED
@@ -1,8 +1,6 @@
1
  FROM python:3.10-slim
2
 
3
- WORKDIR /app
4
-
5
- # Install system dependencies for audio processing and TTS
6
  RUN apt-get update && apt-get install -y \
7
  build-essential \
8
  curl \
@@ -14,47 +12,39 @@ RUN apt-get update && apt-get install -y \
14
  espeak-data \
15
  libespeak1 \
16
  libespeak-dev \
 
 
17
  && apt-get clean \
18
  && rm -rf /var/lib/apt/lists/*
19
 
20
- # Copy requirements and install Python packages
 
 
21
  COPY requirements.txt .
 
 
22
  RUN pip install --no-cache-dir --upgrade pip
23
  RUN pip install --no-cache-dir -r requirements.txt
24
 
25
- # Pre-download the XTTS v2 model to speed up first run
26
- RUN python -c "from TTS.api import TTS; TTS('tts_models/multilingual/multi-dataset/xtts_v2', progress_bar=False)"
27
-
28
- # Copy application
29
  COPY . .
30
 
31
- # Create Streamlit config to fix upload issues
32
- RUN mkdir -p .streamlit
33
- RUN echo '[server]\n\
34
- enableXsrfProtection = false\n\
35
- enableCORS = false\n\
36
- maxUploadSize = 200\n\
37
- headless = true\n\
38
- port = 7860\n\
39
- address = "0.0.0.0"\n\
40
- \n\
41
- [browser]\n\
42
- gatherUsageStats = false\n\
43
- \n\
44
- [theme]\n\
45
- primaryColor = "#667eea"\n\
46
- backgroundColor = "#FFFFFF"\n\
47
- secondaryBackgroundColor = "#f0f2f6"' > .streamlit/config.toml
48
-
49
- # Create non-root user
50
- RUN useradd -m -u 1000 streamlit && chown -R streamlit:streamlit /app
51
- USER streamlit
52
-
53
- EXPOSE 7860
54
-
55
- ENV STREAMLIT_SERVER_HEADLESS=true
56
- ENV STREAMLIT_SERVER_ENABLECORS=false
57
- ENV STREAMLIT_SERVER_PORT=7860
58
  ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0
59
 
60
- CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
 
 
 
 
 
 
 
 
1
  FROM python:3.10-slim
2
 
3
+ # Install system dependencies
 
 
4
  RUN apt-get update && apt-get install -y \
5
  build-essential \
6
  curl \
 
12
  espeak-data \
13
  libespeak1 \
14
  libespeak-dev \
15
+ wget \
16
+ unzip \
17
  && apt-get clean \
18
  && rm -rf /var/lib/apt/lists/*
19
 
20
+ WORKDIR /app
21
+
22
+ # Copy requirements first for better caching
23
  COPY requirements.txt .
24
+
25
+ # Upgrade pip and install requirements
26
  RUN pip install --no-cache-dir --upgrade pip
27
  RUN pip install --no-cache-dir -r requirements.txt
28
 
29
+ # Copy application files
 
 
 
30
  COPY . .
31
 
32
+ # Create directories for models and outputs
33
+ RUN mkdir -p /app/models
34
+ RUN mkdir -p /app/outputs
35
+ RUN mkdir -p /app/reference_voices
36
+ RUN mkdir -p /app/temp
37
+
38
+ # Set environment variables
39
+ ENV PYTHONPATH=/app
40
+ ENV STREAMLIT_SERVER_PORT=8501
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0
42
 
43
+ # Expose port
44
+ EXPOSE 8501
45
+
46
+ # Health check
47
+ HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health || exit 1
48
+
49
+ # Run the application
50
+ CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]