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"]