| FROM python:3.11-slim |
|
|
| ENV PYTHONUNBUFFERED=1 \ |
| PIP_NO_CACHE_DIR=1 \ |
| MAESTER_BASE_DIR=/app \ |
| MAESTER_DATA_DIR=/app/data \ |
| MAESTER_ENV=production \ |
| MAESTER_CPU_SAFE_MODE=true \ |
| MAESTER_MOUNT_SERVICES=true \ |
| MAESTER_ALLOW_PUBLIC_DOCS=false \ |
| MAESTER_ENABLE_KTTS=true \ |
| MAESTER_ENABLE_MUSICGEN=true \ |
| MAESTER_ENABLE_WHISPER=true \ |
| MAESTER_ENABLE_FFMPEG_AUTOMATION=true \ |
| MAESTER_ENABLE_RENDER_ENGINE=true \ |
| TEMP_DIR=/app/data/temp \ |
| EXPORTS_DIR=/app/data/exports \ |
| JOBS_DIR=/app/data/jobs \ |
| STORAGE_DIR=/app/data/storage \ |
| AVA2LON_BASE_DIR=/app/services/render_engine \ |
| BASYX_BASE_DIR=/app/services/render_engine \ |
| WHISPER_MODEL_DIR=/app/data/models \ |
| WHISPER_DEVICE=cpu \ |
| WHISPER_COMPUTE_TYPE=int8 \ |
| WHISPER_MODEL_SIZE=tiny \ |
| MAX_RENDER_WORKERS=1 \ |
| FFMPEG_TIMEOUT_SECONDS=900 \ |
| DOWNLOAD_TIMEOUT_SECONDS=60 \ |
| MAX_DOWNLOAD_BYTES=524288000 \ |
| ALLOW_PRIVATE_ASSET_URLS=false \ |
| CUDA_VISIBLE_DEVICES="" \ |
| TOKENIZERS_PARALLELISM=false \ |
| OMP_NUM_THREADS=1 \ |
| MKL_NUM_THREADS=1 \ |
| NUMEXPR_MAX_THREADS=1 \ |
| HF_HOME=/app/data/huggingface \ |
| TRANSFORMERS_CACHE=/app/data/huggingface/transformers |
|
|
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| build-essential \ |
| gcc \ |
| g++ \ |
| git \ |
| curl \ |
| wget \ |
| ca-certificates \ |
| ffmpeg \ |
| espeak \ |
| imagemagick \ |
| libmagic1 \ |
| libsndfile1 \ |
| libpq-dev \ |
| fonts-dejavu-core \ |
| libsm6 \ |
| libxext6 \ |
| libglib2.0-0 \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| WORKDIR /app |
|
|
| COPY requirements.txt . |
| COPY services/ktts/requirements.txt services/ktts/requirements.txt |
| COPY services/musicgen/requirements.txt services/musicgen/requirements.txt |
| COPY services/whisper/requirements.txt services/whisper/requirements.txt |
| COPY services/ffmpeg_automation/requirements.txt services/ffmpeg_automation/requirements.txt |
| COPY services/render_engine/requirements.txt services/render_engine/requirements.txt |
|
|
| RUN pip install --upgrade pip setuptools wheel \ |
| && pip install --no-cache-dir -r requirements.txt |
|
|
| COPY . . |
|
|
| RUN mkdir -p /app/data/uploads /app/data/exports /app/data/jobs /app/data/logs /app/data/models /app/data/temp /app/data/storage /app/data/automation /app/data/huggingface \ |
| && chmod -R 775 /app/data |
|
|
| EXPOSE 7860 |
|
|
| CMD ["uvicorn", "maester_enterprise.main:app", "--host", "0.0.0.0", "--port", "7860"] |
|
|