File size: 2,833 Bytes
cd5aabe
 
407b6c0
cd5aabe
407b6c0
fae1594
 
 
 
 
407b6c0
 
 
 
 
cd5aabe
407b6c0
 
 
 
 
 
 
12a0952
 
 
407b6c0
 
cd5aabe
407b6c0
 
 
 
 
a1be5bb
 
 
cd5aabe
a1be5bb
407b6c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4817187
407b6c0
 
 
 
 
 
 
 
 
 
 
cd5aabe
fae1594
cd5aabe
 
 
83913e1
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
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 \
    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
EXPOSE 7860
CMD ["uvicorn", "app:app", "--workers", "1", "--loop", "asyncio", "--http", "httptools", "--host", "0.0.0.0", "--port", "7860", "--timeout-keep-alive", "600"]