picpocket / Dockerfile
chenchaoyun
fix: web
4817187
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"]