-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
75 lines (63 loc) · 3.57 KB
/
.env.example
File metadata and controls
75 lines (63 loc) · 3.57 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# All settings use RECEIPTORY_ prefix. See README.md for full setup instructions.
# Environment variables override database settings which override defaults.
# --- Server ---
# RECEIPTORY_PORT=8484 # backend port (used by Docker and dev server)
# --- Auth ---
# RECEIPTORY_AUTH_USERNAME=admin
# RECEIPTORY_AUTH_PASSWORD=admin
# --- Business identity (used by LLM to detect issued invoices vs expenses) ---
# RECEIPTORY_BUSINESS_NAMES=["My Company", "החברה שלי"] # semicolon-separated in UI, JSON array in env
# RECEIPTORY_BUSINESS_ADDRESSES=["123 Main St", "רחוב ראשי 123"]
# RECEIPTORY_BUSINESS_TAX_IDS=["515000000"]
# RECEIPTORY_REFERENCE_CURRENCY=ILS
# --- LLM (required) ---
# RECEIPTORY_LLM_API_KEY=your-api-key-here
# RECEIPTORY_LLM_MODEL=gemini/gemini-3-flash-preview
# RECEIPTORY_LLM_TEMPERATURE=0.0 # 0 = deterministic
# RECEIPTORY_LLM_MAX_TOKENS=16384 # increase if JSON gets truncated
# RECEIPTORY_LLM_SLEEP_INTERVAL=0.0 # seconds between LLM calls (rate limiting)
# RECEIPTORY_CONFIDENCE_THRESHOLD=0.7 # 0 = never flag for review, 1 = flag everything
# --- Telegram bot (get token from @BotFather, bot name shown in Settings > Telegram) ---
# RECEIPTORY_TELEGRAM_BOT_TOKEN=123456:ABC-your-token
# RECEIPTORY_TELEGRAM_AUTHORIZED_USERS=["123456789"] # user IDs, or [] for all. Get ID from @userinfobot
# --- Email ingestion (IMAP — works with Gmail, Outlook, any IMAP provider) ---
# RECEIPTORY_GMAIL_ADDRESS=you@gmail.com
# RECEIPTORY_GMAIL_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx # Gmail: myaccount.google.com/apppasswords (requires 2FA)
# RECEIPTORY_GMAIL_IMAP_HOST=imap.gmail.com
# RECEIPTORY_GMAIL_IMAP_PORT=993
# RECEIPTORY_GMAIL_LABELS=["Receipt", "Invoice"] # only poll these labels — empty = disabled
# RECEIPTORY_GMAIL_UNREAD_ONLY=true # false = process all emails in label (dupes skipped by hash)
# RECEIPTORY_GMAIL_POLL_INTERVAL=300 # seconds
# RECEIPTORY_GMAIL_AUTHORIZED_SENDERS=[] # ["user@example.com", "@company.com"] or [] for all
# --- Watched folder (auto-ingest files dropped here, moved to processed/ after) ---
# RECEIPTORY_WATCHED_FOLDER_PATH=/path/to/watched/folder
# RECEIPTORY_WATCHED_FOLDER_POLL_INTERVAL=10 # seconds
# --- Backup (rclone) ---
# RECEIPTORY_BACKUP_DESTINATION= # rclone remote, e.g. gcs:my-bucket/receiptory
# RECEIPTORY_BACKUP_SCHEDULE=0 2 * * * # cron expression
# RECEIPTORY_BACKUP_RETENTION_DAILY=7 # days
# RECEIPTORY_BACKUP_RETENTION_WEEKLY=4 # weeks
# RECEIPTORY_BACKUP_RETENTION_MONTHLY=3 # months
# --- Notifications ---
# RECEIPTORY_BASE_URL=https://receiptory.levmuchnik.com
# RECEIPTORY_NOTIFY_FROM_NAME=Receiptory
# RECEIPTORY_NOTIFY_EMAIL_TO= # defaults to GMAIL_ADDRESS
# RECEIPTORY_NOTIFY_TELEGRAM_INGESTED=false
# RECEIPTORY_NOTIFY_TELEGRAM_PROCESSED=false
# RECEIPTORY_NOTIFY_TELEGRAM_FAILED=true
# RECEIPTORY_NOTIFY_TELEGRAM_NEEDS_REVIEW=true
# RECEIPTORY_NOTIFY_TELEGRAM_BACKUP_OK=false
# RECEIPTORY_NOTIFY_TELEGRAM_BACKUP_FAILED=true
# RECEIPTORY_NOTIFY_EMAIL_INGESTED=false
# RECEIPTORY_NOTIFY_EMAIL_PROCESSED=false
# RECEIPTORY_NOTIFY_EMAIL_FAILED=true
# RECEIPTORY_NOTIFY_EMAIL_NEEDS_REVIEW=true
# RECEIPTORY_NOTIFY_EMAIL_BACKUP_OK=false
# RECEIPTORY_NOTIFY_EMAIL_BACKUP_FAILED=true
# --- System ---
# RECEIPTORY_LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR
# RECEIPTORY_PAGE_RENDER_DPI=200 # DPI for page image rendering
# --- Appearance ---
# RECEIPTORY_THEME=light # light, dark, or system
# --- Dev mode (set to 1 when running backend + Vite dev server together) ---
# RECEIPTORY_DEV=0