# Momentry Core Production Configuration
# Version: 1.0.0
# Effective: 2025-03-27

[server]
host = "0.0.0.0"
port = 3002
workers = 4
log_level = "info"
max_connections = 1000
keep_alive = 75

[database]
url = "postgres://accusys@localhost:5432/momentry"
pool_size = 20
idle_timeout = 300
max_lifetime = 1800

[redis]
url = "redis://:accusys@localhost:6379"
prefix = "momentry:"
pool_size = 50
connection_timeout = 5
read_timeout = 3
write_timeout = 3

[storage]
output_dir = "/Users/accusys/momentry/output"
backup_dir = "/Users/accusys/momentry/backup"
max_file_size = "10GB"

[processors]
asr_timeout = 7200    # 2 hours for long videos
ocr_timeout = 3600    # 1 hour
yolo_timeout = 14400  # 4 hours
face_timeout = 3600   # 1 hour
pose_timeout = 7200   # 2 hours
asrx_timeout = 10800  # 3 hours for speaker diarization
cut_timeout = 7200    # 2 hours for scene detection
caption_timeout = 3600 # 1 hour for captioning
story_timeout = 3600  # 1 hour for story generation
default_timeout = 7200
max_concurrent = 2    # Limit to prevent overload

[asr]
model_size = "medium"
device = "cpu"
language = "auto"
task = "transcribe"
beam_size = 5
best_of = 5

[ocr]
languages = "en"
confidence = 0.7
gpu = false
model_path = "~/.EasyOCR/model"

[yolo]
model_size = "yolov8n.pt"
confidence = 0.25
iou = 0.45
gpu = false
auto_save_interval = 30
auto_save_frames = 300
classes = ""  # empty = all classes

[face]
method = "haar"
confidence = 0.5
min_size = 30
max_size = 300
scale_factor = 1.1
min_neighbors = 3
gpu = false
gpu_backend = "cpu"  # cpu, cuda, mps, rocm
enable_mps = false

[pose]
model_size = "yolov8n-pose.pt"
confidence = 0.25
iou = 0.45
gpu = false
keypoint_confidence = 0.5
max_persons = 10

[asrx]
model_size = "medium"
device = "cpu"
language = "en"
batch_size = 16
diarization = true
min_speakers = 1
max_speakers = 10

[cut]
method = "content"
threshold = 27.0
min_scene_length = 0.5
show_progress = true

[caption]
model = "gpt-4"
max_tokens = 1000
temperature = 0.7

[story]
model = "gpt-4"
max_tokens = 2000
temperature = 0.8

[audit]
enabled = true
log_file = "/Users/accusys/momentry/logs/audit.log"
retention_days = 90

[monitoring]
enabled = true
metrics_port = 9090
health_check_interval = 30
alert_threshold_cpu = 80
alert_threshold_memory = 85
alert_threshold_disk = 90