| FROM python:3.11-slim |
|
|
| ENV PYTHONUNBUFFERED=1 \ |
| PIP_NO_CACHE_DIR=1 \ |
| TEMP_DIR=/app/temp \ |
| EXPORTS_DIR=/app/exports \ |
| JOBS_DIR=/app/jobs \ |
| STORAGE_DIR=/app/storage \ |
| AVA2LON_BASE_DIR=/app \ |
| BASYX_BASE_DIR=/app \ |
| WHISPER_MODEL_DIR=/app/models \ |
| WHISPER_MODEL_SIZE=tiny \ |
| WHISPER_COMPUTE_TYPE=int8 \ |
| WHISPER_DEVICE=cpu \ |
| MAX_RENDER_WORKERS=1 \ |
| FFMPEG_TIMEOUT_SECONDS=900 \ |
| DOWNLOAD_TIMEOUT_SECONDS=60 \ |
| MAX_DOWNLOAD_BYTES=524288000 \ |
| ALLOW_PRIVATE_ASSET_URLS=false \ |
| ENABLE_API_DOCS=false \ |
| SUPPRESS_SCANNER_ACCESS_LOGS=true |
|
|
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| build-essential \ |
| ca-certificates \ |
| curl \ |
| espeak \ |
| ffmpeg \ |
| fonts-dejavu-core \ |
| g++ \ |
| gcc \ |
| git \ |
| imagemagick \ |
| libglib2.0-0 \ |
| libmagic1 \ |
| libpq-dev \ |
| libsm6 \ |
| libsndfile1 \ |
| libxext6 \ |
| wget \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| WORKDIR /app |
|
|
| COPY requirements.txt . |
| RUN pip install --upgrade pip setuptools wheel \ |
| && pip install --no-cache-dir -r requirements.txt |
|
|
| COPY . . |
|
|
| RUN mkdir -p /app/temp /app/exports /app/jobs /app/models /app/storage \ |
| && chmod -R 777 /app/temp /app/exports /app/jobs /app/models /app/storage \ |
| && chmod +x /app/start.sh |
|
|
| EXPOSE 7860 |
|
|
| CMD ["bash", "start.sh"] |
|
|