Files
winnow/compose.yml
T
flanandClaude Sonnet 4.6 d106d30060 feat: RGBA fix, per-person tracking, dry-run, retry-rejected, reset-person
- Fix RGBA→JPEG error: convert all images to RGB before saving
- Upload tracker: per-person breakdown in JSON, reset_person(), get_person_summary()
- mark_rejected() only fires on face-detection failures (not all HTTP 400s)
- New env vars: DRY_RUN, RETRY_REJECTED, RESET_PERSON
- Tracker summary printed at startup showing uploaded/rejected counts per person
- Document new env vars in compose.yml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 22:39:11 +00:00

46 lines
1.5 KiB
YAML

services:
if-curator:
image: ghcr.io/sudolulo/if-curator-headless:latest
container_name: if-curator
environment:
- IMMICH_URL=${IMMICH_URL}
- API_KEY=${API_KEY}
- AUTO_MODE=true
- FRIGATE_URL=${FRIGATE_URL}
- TRAINING_MODE=face
- STRATEGY=auto
- FORCE_CPU=false
- ENABLE_CACHE=true
- CACHE_DIR=/app/.if_cache
- HF_HOME=/models/huggingface
- INSIGHTFACE_HOME=/models
# - ONLY_PEOPLE=John,Jane
# - SKIP_PEOPLE=Unknown
# - MIN_FACE_COUNT=5
# ── Tracker overrides (one-shot, remove after use) ──
# - DRY_RUN=true # Preview selection without downloading/uploading
# - RETRY_REJECTED=true # Re-attempt previously rejected images
# - RESET_PERSON=John # Clear uploaded+rejected history for one person
# ── Scheduling ──
# Cron expression (unset = run once and exit)
- CRON_SCHEDULE=0 3 * * 0 # Every Sunday at 3 AM
# - CRON_SCHEDULE=0 3 1 * * # 1st of every month at 3 AM
# - CRON_SCHEDULE=*/30 * * * * # Every 30 minutes (testing)
volumes:
- /mnt/<pool>/if-curator/models:/models
- /mnt/<pool>/if-curator/embeddings:/app/.if_cache
- /mnt/<pool>/if-curator/output:/app/output
stdin_open: true
tty: true
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]