Files
winnow/compose.yml
T
flanandClaude Sonnet 4.6 0f3e67d5cc fix: clean output dir per run, fix cron inline comment, clarify volume placeholder
- executor.py: wipe person output dir before each run so stale crops
  from previous runs don't accumulate on disk
- compose.yml: move inline comment off CRON_SCHEDULE value (croniter
  would parse the comment text as part of the expression)
- compose.yml: add note clarifying <pool> placeholder in volume paths

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 00:27:52 +00:00

48 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)
# Every Sunday at 3 AM:
- CRON_SCHEDULE=0 3 * * 0
# - CRON_SCHEDULE=0 3 1 * *
# - CRON_SCHEDULE=*/30 * * * *
volumes:
# Replace <pool> with your TrueNAS pool name, e.g. /mnt/tank/if-curator/...
- /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]