| FROM python:3.11-slim |
|
|
| ENV PYTHONUNBUFFERED=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 \ |
| AVA2LON_SIGNING_SECRET=change-me-in-space-secrets \ |
| BASYX_SIGNING_SECRET=change-me-in-space-secrets \ |
| MAX_RENDER_WORKERS=1 \ |
| FFMPEG_TIMEOUT_SECONDS=900 \ |
| DOWNLOAD_TIMEOUT_SECONDS=60 \ |
| MAX_DOWNLOAD_BYTES=524288000 \ |
| ALLOW_PRIVATE_ASSET_URLS=false \ |
| WHISPER_MODEL_SIZE=tiny \ |
| WHISPER_COMPUTE_TYPE=int8 \ |
| WHISPER_DEVICE=cpu \ |
| WHISPER_MODEL_DIR=/app/models \ |
| MAX_RETRIES=3 \ |
| CALLBACK_MAX_RETRIES=3 \ |
| CALLBACK_RETRY_SECONDS=1 \ |
| JOB_RETENTION_SECONDS=86400 |
|
|
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| ffmpeg \ |
| fonts-dejavu-core \ |
| ca-certificates \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| WORKDIR /app |
|
|
| COPY requirements.txt . |
| RUN 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 |
|
|
| EXPOSE 7860 |
|
|
| CMD ["python", "app.py"] |
|
|