-
-
Notifications
You must be signed in to change notification settings - Fork 162
Description
Problem
The Whishper Docker container failed to start with multiple errors:
Initial Supervisor error: the directory named as part of the path /var/log/whishper/transcription.out.log does not exist
Process not found: Supervisor couldn't find the transcription process
Fatal startup error: Process kept entering BACKOFF state due to configuration issues
Root Causes & Solutions
- Typo in Python Path
Error: can't find command 'user/bin/python'
Fix: Changed user/bin/python → /usr/bin/python3 (was missing leading / and had wrong directory name)
- Wrong Application Path
Error: supervisor: couldn't chdir to /app:ENOENT
Fix: Updated paths to actual locations:
Command: /app/transcribe.py → /app/transcription/main.py
Working directory: /app → /app/transcription
- Missing Log Directory
Error: Log directory /var/log/whishper/ didn't exist
Fix: Created directory with mkdir -p /var/log/whishper
- Missing Environment Variable
Error: KeyError: 'WHISPER_MODELS_DIR'
Fix: Added environment variable to Supervisor config: WHISPER_MODELS_DIR="/var/lib/whishper/models"
Final Working Configuration
ini[program:transcription]
command=/usr/bin/python3 /app/transcription/main.py
directory=/app/transcription
autostart=true
autorestart=true
stdout_logfile=/var/log/whishper/transcription.out.log
stderr_logfile=/var/log/whishper/transcription.err.log
user=root
environment=PYTHONUNBUFFERED="1",WHISPER_MODELS_DIR="/var/lib/whishper/models"
Steps to Apply Fix
bash# Inside container
mkdir -p /var/log/whishper
mkdir -p /var/lib/whishper/models
Update /etc/supervisor/conf.d/supervisord.conf with correct configuration
supervisorctl reread
supervisorctl update
supervisorctl start transcription
Recommendation for Developer
Consider updating the Docker image to:
Create required directories in Dockerfile
Fix the Supervisor configuration template
Set required environment variables in the image or provide clear documentation
Add validation to check paths exist before starting services
This would prevent users from encountering these startup issues.