File size: 3,091 Bytes
cd5aabe 407b6c0 cd5aabe 407b6c0 fae1594 6315398 172ad88 fae1594 407b6c0 cd5aabe 407b6c0 12a0952 407b6c0 cd5aabe 407b6c0 a1be5bb cd5aabe a1be5bb 407b6c0 4817187 407b6c0 cd5aabe fae1594 cd5aabe 83913e1 cd5aabe 29fdc13 cd5aabe b47452e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | FROM python:3.10-slim
# --- 系统与基础路径配置 ---
ENV TZ=Asia/Shanghai \
HOSTNAME=claw \
OUTPUT_DIR=/opt/data/output \
IMAGES_DIR=/opt/data/images \
MODELS_PATH=/opt/data/models \
DEEPFACE_HOME=/opt/data/models \
DEEPFACE_BACKEND_ENGINE=tensorflow \
TF_USE_LEGACY_KERAS=1 \
FAISS_INDEX_DIR=/opt/data/faiss \
CELEBRITY_SOURCE_DIR=/opt/data/chinese_celeb_dataset
# --- 算法逻辑与置信度阈值 ---
ENV GENDER_CONFIDENCE=0.9999 \
AGE_CONFIDENCE=0.9999 \
FACE_CONFIDENCE=0.7 \
CELEBRITY_FIND_THRESHOLD=0.87 \
FEMALE_AGE_ADJUSTMENT=4 \
UPSCALE_SIZE=2 \
DRAW_SCORE=true
# --- AI 模型开关 (已开启 DDColor 与 Anime) ---
ENV ENABLE_GFPGAN=true \
ENABLE_REALESRGAN=true \
ENABLE_RVM=true \
ENABLE_REMBG=true \
ENABLE_DDCOLOR=true \
ENABLE_ANIME_STYLE=true \
ENABLE_CLIP=false \
ENABLE_WARMUP=true \
ENABLE_LOGGING=true
# --- 自动初始化设置 (全手动受控加载) ---
ENV AUTO_INIT_GFPGAN=false \
AUTO_INIT_DDCOLOR=false \
AUTO_INIT_REALESRGAN=false \
AUTO_INIT_ANIME_STYLE=false \
AUTO_INIT_CLIP=false \
AUTO_INIT_RVM=false \
AUTO_INIT_REMBG=false
# --- 特定模型配置 ---
ENV REALESRGAN_MODEL=realesr-general-x4v3 \
RVM_MODEL=resnet50 \
RVM_LOCAL_REPO=/opt/data/models/RobustVideoMatting \
RVM_WEIGHTS_PATH=/opt/data/models/torch/hub/checkpoints/rvm_resnet50.pth \
HUGGINGFACE_SYNC_ENABLED=true
# --- 颜值评分与美化参数 ---
ENV BEAUTY_ADJUST_ENABLED=true \
BEAUTY_ADJUST_GAMMA=0.8 \
BEAUTY_ADJUST_MIN=1.0 \
BEAUTY_ADJUST_MAX=9.0
# --- 数据库配置 (MySQL) ---
ENV MYSQL_PORT=3306
# --- 对象存储配置 (Cloudflare R2 / BOS) ---
ENV BOS_IMAGE_DIR=images \
BOS_MODELS_PREFIX=models/s3 \
BOS_CELEBRITY_PREFIX=chinese_celeb_dataset \
BOS_UPLOAD_ENABLED=true
# --- 维护与清理 ---
ENV CLEANUP_INTERVAL_HOURS=24 \
CLEANUP_AGE_HOURS=24 \
BOS_CLEANUP_ENABLED=false
RUN mkdir -p /opt/data/chinese_celeb_dataset /opt/data/faiss /opt/data/models /opt/data/images /opt/data/output
WORKDIR /app
COPY requirements.txt .
COPY *.py /app/
# COPY facelist-web /app/facelist-web
# 安装必要的系统工具和依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
git \
wget \
curl \
ca-certificates \
libopenblas-dev \
liblapack-dev \
libx11-dev \
libgtk-3-dev \
libboost-python-dev \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender-dev \
libgomp1 \
&& rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip
# 安装所有依赖 - 现在可以一次性完成
RUN pip install --no-cache-dir -r requirements.txt
# 构建时检查五官分析依赖的 API,避免服务启动后静默降级为统一默认分。
RUN python -c "import mediapipe as mp; assert callable(mp.solutions.face_mesh.FaceMesh)"
EXPOSE 7860
CMD ["uvicorn", "app:app", "--workers", "1", "--loop", "asyncio", "--http", "httptools", "--host", "0.0.0.0", "--port", "7860", "--timeout-keep-alive", "600"]
|