| FROM python:3.11-slim |
|
|
| |
| |
| |
| RUN apt-get update && \ |
| apt-get install -y --no-install-recommends \ |
| git \ |
| wget \ |
| gcc \ |
| g++ \ |
| libjemalloc2 && \ |
| apt-get clean && \ |
| rm -rf /var/lib/apt/lists/* |
|
|
| RUN useradd -rm -d /home/hf -s /bin/bash -g root -G sudo -u 1001 hf |
|
|
| |
| |
| |
| ENV TRANSFORMERS_CACHE=/tmp/hf_cache |
| ENV HF_HOME=/tmp/hf_cache |
| ENV PYTHONUNBUFFERED=1 |
| ENV PYTHONDONTWRITEBYTECODE=1 |
|
|
| ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2 |
| ENV MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:100,muzzy_decay_ms:0" |
|
|
| |
| ENV OMP_WAIT_POLICY=ACTIVE |
| ENV KMP_BLOCKTIME=infinite |
|
|
| |
| ENV DNNL_DEFAULT_FPMATH_MODE=BF16 |
| ENV ONEDNN_PRIMITIVE_CACHE_CAPACITY=512 |
|
|
| WORKDIR /home/hf |
| USER hf |
|
|
| |
| |
| |
| RUN git clone https://github.com/comfyanonymous/ComfyUI |
| WORKDIR /home/hf/ComfyUI |
|
|
| ENV VIRTUAL_ENV=/home/hf/ComfyUI/venv |
| RUN python3 -m venv $VIRTUAL_ENV |
| ENV PATH="$VIRTUAL_ENV/bin:$PATH" |
|
|
| |
| RUN pip install --no-cache-dir --upgrade pip && \ |
| pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu && \ |
| pip install --no-cache-dir -r requirements.txt |
|
|
| |
| |
| |
| RUN wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/diffusion_models/anima-base-v1.0.safetensors -P ./models/diffusion_models/ && \ |
| wget -nv -c https://huggingface.co/Rikunarita-ORG/REED_Anima_XXX_v1.1/resolve/main/reedAnimaXXX_v11.safetensors -P ./models/diffusion_models/ && \ |
| wget -nv -c https://huggingface.co/oron1208/OOO_Anima/resolve/main/model/OOO_Anima_v10.safetensors -P ./models/diffusion_models/ && \ |
| wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/text_encoders/qwen_3_06b_base.safetensors -P ./models/text_encoders/ && \ |
| wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/vae/qwen_image_vae.safetensors -P ./models/vae/ |
|
|
| RUN mkdir temp && chmod 777 temp |
|
|
| |
| |
| |
| CMD quota_v2="/sys/fs/cgroup/cpu.max"; \ |
| quota_v1="/sys/fs/cgroup/cpu/cpu.cfs_quota_us"; \ |
| period_v1="/sys/fs/cgroup/cpu/cpu.cfs_period_us"; \ |
| COMPUTE_CORES=""; \ |
| if [ -f "$quota_v2" ]; then \ |
| read -r q p < "$quota_v2"; \ |
| if [ "$q" != "max" ] && [ "$p" -gt 0 ]; then \ |
| COMPUTE_CORES=$(( (q + p - 1) / p )); \ |
| fi; \ |
| elif [ -f "$quota_v1" ] && [ -f "$period_v1" ]; then \ |
| q=$(cat "$quota_v1"); p=$(cat "$period_v1"); \ |
| if [ "$q" -gt 0 ] && [ "$p" -gt 0 ]; then \ |
| COMPUTE_CORES=$(( (q + p - 1) / p )); \ |
| fi; \ |
| fi; \ |
| if [ -z "$COMPUTE_CORES" ] || [ "$COMPUTE_CORES" -le 0 ]; then \ |
| COMPUTE_CORES=$(nproc); \ |
| fi; \ |
| export OMP_NUM_THREADS=$COMPUTE_CORES && \ |
| export MKL_NUM_THREADS=$COMPUTE_CORES && \ |
| export TORCH_NUM_THREADS=$COMPUTE_CORES && \ |
| export OMP_PROC_BIND=CLOSE && \ |
| export OMP_PLACES=CORES && \ |
| export OMP_SCHEDULE=STATIC && \ |
| export KMP_AFFINITY=granularity=fine,compact,1,0 && \ |
| echo "=== 🚀 Ultimate 100% CPU Threading Engaged: $COMPUTE_CORES Cores ===" && \ |
| python main.py \ |
| --cpu \ |
| --listen 0.0.0.0 \ |
| --port 7860 \ |
| --output-directory ./temp \ |
| --bf16-unet \ |
| --bf16-vae \ |
| --bf16-text-enc \ |
| --use-pytorch-cross-attention \ |
| --mmap-torch-files \ |
| --preview-method none |