# Copy to .env and adjust. Real environment variables override this file. # Base URL the app is reached at; its domain goes into new event UIDs. PUBLIC_URL=https://calendar.example.com # Database and photos. Must be a local disk (SQLite WAL doesn't work on network shares). DATA_DIR=/data HOST=127.0.0.1 PORT=8000 # Extraction model: an Ollama model, or a claude-* model (then set ANTHROPIC_API_KEY). # In Docker, localhost is the container. Use the Ollama machine's address, or http://host.docker.internal:11434 # when Ollama runs on the Docker host (start Ollama with OLLAMA_HOST=0.0.0.0 so it accepts the connection). OLLAMA_URL=http://localhost:11434 EXTRACT_MODEL=nemotron-3.5-bolt:e4b # ANTHROPIC_API_KEY= # Ollama settings. Commented-out lines show the default. # Sampling: leave top P and top K unset to use the model's own. # EXTRACT_TEMPERATURE=0 # EXTRACT_TOP_P=0.9 # EXTRACT_TOP_K=40 # Context size in tokens; raise it if a dense page or thinking runs out of room. # EXTRACT_NUM_CTX=16384 # How long Ollama keeps the model loaded after a scan: 10m, 1h, 0 to unload right away, -1 forever. # EXTRACT_KEEP_ALIVE=10m # 1 lets the model reason before answering (slower, needs more context). # EXTRACT_THINK=0 # Only with EXTRACT_THINK=1, for models that have levels: low, medium or high. # EXTRACT_THINK_LEVEL=medium # 1 reads every page twice and flags where the reads disagree, for the command-line eval in phase0/. # In the app, each source's "double read" setting decides instead. # EXTRACT_DOUBLE_READ=0 # Labels that are never food or events, for every source (each source can add its own). # EXTRACT_IGNORE=BHS # Days to keep photos after a scan is published. IMAGE_RETENTION_DAYS=90 # National days ("National Chicken Sandwich Day"), shown when Settings > Holidays asks for them. Get a free key # (100 requests a month; this uses about 31) at https://marketplace.apilayer.com/checkiday-api. The free plan only # gives today's list, so each day's arrives that morning; days before you set this aren't filled in. # CHECKIDAY_API_KEY= # 1 adds a "Scan Stats" button to each scan's page (model, tokens, pages, events, scan time), for comparing models. Every scan's time is logged either way. # SHOW_SCAN_STATS=0