dashhdata commited on
Commit
fece565
·
verified ·
1 Parent(s): 4ec3855

Upload folder using huggingface_hub

Browse files
Files changed (3) hide show
  1. Dockerfile +12 -6
  2. requirements.txt +0 -1
  3. services/transcriber.py +10 -3
Dockerfile CHANGED
@@ -1,13 +1,19 @@
1
  FROM python:3.11-slim
2
 
3
- # Install FFmpeg
4
- RUN apt-get update && apt-get install -y ffmpeg && rm -rf /var/lib/apt/lists/*
 
5
 
6
- WORKDIR /app
7
- COPY requirements.txt .
8
- RUN pip install --no-cache-dir -r requirements.txt
 
9
 
10
- COPY . .
 
 
 
 
11
  RUN mkdir -p temp_jobs static
12
 
13
  EXPOSE 7860
 
1
  FROM python:3.11-slim
2
 
3
+ RUN apt-get update && \
4
+ apt-get install -y --no-install-recommends ffmpeg && \
5
+ rm -rf /var/lib/apt/lists/*
6
 
7
+ # Create non-root user (HF Spaces requirement)
8
+ RUN useradd -m -u 1000 user
9
+ USER user
10
+ ENV PATH="/home/user/.local/bin:$PATH"
11
 
12
+ WORKDIR /home/user/app
13
+ COPY --chown=user:user requirements.txt .
14
+ RUN pip install --no-cache-dir --user -r requirements.txt
15
+
16
+ COPY --chown=user:user . .
17
  RUN mkdir -p temp_jobs static
18
 
19
  EXPOSE 7860
requirements.txt CHANGED
@@ -6,5 +6,4 @@ yt-dlp>=2024.1.5
6
  deep-translator==1.11.4
7
  edge-tts>=6.1.9
8
  pydub==0.25.1
9
- faster-whisper==0.10.0
10
  requests>=2.31.0
 
6
  deep-translator==1.11.4
7
  edge-tts>=6.1.9
8
  pydub==0.25.1
 
9
  requests>=2.31.0
services/transcriber.py CHANGED
@@ -38,9 +38,16 @@ def transcribe_audio(
38
  except Exception as e:
39
  logger.warning(f"HF API failed: {e}. Falling back to local.")
40
 
41
- # Fallback: local faster-whisper
42
- logger.info("Using local faster-whisper fallback...")
43
- return _transcribe_local(audio_path, output_dir, source_language, progress_callback)
 
 
 
 
 
 
 
44
 
45
 
46
  def _transcribe_hf_api(
 
38
  except Exception as e:
39
  logger.warning(f"HF API failed: {e}. Falling back to local.")
40
 
41
+ # Fallback: local faster-whisper (if installed)
42
+ try:
43
+ logger.info("Using local faster-whisper fallback...")
44
+ return _transcribe_local(audio_path, output_dir, source_language, progress_callback)
45
+ except Exception as e2:
46
+ logger.error(f"Local fallback also failed: {e2}")
47
+ raise RuntimeError(
48
+ "Transcription failed. HF API may be overloaded. "
49
+ "Try again in a few minutes or set HF_TOKEN env var for priority access."
50
+ )
51
 
52
 
53
  def _transcribe_hf_api(