File size: 1,178 Bytes
2db5489
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e518a85
 
 
 
 
 
 
b27f6bf
 
 
e518a85
 
 
 
 
2db5489
 
 
 
 
 
 
 
 
 
 
 
 
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
# Supabase
SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=

# Worker
WORKER_ID=hf-worker-1
MAX_WORKERS=2
POLL_INTERVAL_MS=3000
ENABLE_WORKER=true
ENABLE_CRON=true

# Turnitin
TURNITIN_SHARED_PASSWORD=
TURNITIN_CREDENTIAL_ENCRYPTION_KEY=
TARGET_URL=https://www.turnitin.com/login_page.asp?lang=en_us
CLASS_TITLE=Summer Reading 2026
ASSIGNMENT_TITLE=HTLLP notes

# Playwright
PLAYWRIGHT_HEADLESS=true

# Object storage. Existing plain paths continue to read from Supabase after
# switching new writes to R2.
STORAGE_PROVIDER=supabase
INPUT_BUCKET=relv-turnitin-inputs
REPORT_BUCKET=relv-turnitin-reports
DIAGNOSTICS_BUCKET=relv-turnitin-diagnostics
SESSION_BUCKET=relv-turnitin-sessions
SUPABASE_INPUT_BUCKET=turnitin-inputs
SUPABASE_REPORT_BUCKET=turnitin-reports
SUPABASE_SESSION_BUCKET=turnitin-sessions
R2_ACCOUNT_ID=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_ENDPOINT=https://ACCOUNT_ID.r2.cloudflarestorage.com
R2_REGION=auto

# Cron intervals (minutes)
QUOTA_CHECK_INTERVAL=30
CLEANUP_INTERVAL=15
STALE_RECOVERY_INTERVAL=5

# Report
REPORT_RETENTION_HOURS=24

# Server
PORT=7860
INTERNAL_SECRET=
ALLOWED_ORIGINS=https://hl-internal-finance-amber.vercel.app,http://localhost:3000