-
Notifications
You must be signed in to change notification settings - Fork 113
Expand file tree
/
Copy path.env.example
More file actions
125 lines (100 loc) · 4.29 KB
/
.env.example
File metadata and controls
125 lines (100 loc) · 4.29 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# Server environment variables
DATABASE_URL="DATABASE_URL"
BLOB_READ_WRITE_TOKEN="BLOB_READ_WRITE_TOKEN"
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
CLERK_SECRET_KEY=CLERK_SECRET_KEY
# OpenAI API
OPENAI_API_KEY=API_KEY_HERE
# NextJS client environment variables
NEXT_PUBLIC_UPLOADTHING_ENABLED="true"
# Trend / web search (optional — leave keys unset if you do not use trend search)
# SEARCH_PROVIDER default when unset is tavily-only (same as tavily).
# tavily → requires TAVILY_API_KEY
# serper → requires SERPER_API_KEY
# fallback → Serper first, then Tavily if Serper returns no results; set both keys for full behavior
# parallel → merge Serper + Tavily; set both keys for full behavior (Serper-only works with SERPER_API_KEY only)
# If a required key is missing, the pipeline no-ops that provider; providerUsed may be "none" when no key backs the active path.
TAVILY_API_KEY="tvly-..."
SERPER_API_KEY="..."
SEARCH_PROVIDER="tavily" # "tavily" | "serper" | "fallback" | "parallel"
# Platform API Keys for Marketing Pipeline
REDDIT_CLIENT_ID="your_reddit_client_id"
REDDIT_CLIENT_SECRET="your_reddit_client_secret"
REDDIT_USER_AGENT="your_reddit_user_agent"
TWITTER_BEARER_TOKEN="your_twitter_bearer_token"
LINKEDIN_ACCESS_TOKEN="your_linkedin_access_token"
BLUESKY_HANDLE="your_bluesky_handle"
BLUESKY_APP_PASSWORD="your_bluesky_app_password"
# Document Processing (Optional)
AZURE_DOC_INTELLIGENCE_ENDPOINT="https://..."
AZURE_DOC_INTELLIGENCE_KEY="..."
LANDING_AI_API_KEY="..."
# Anthropic API (optional — enables Claude models, get from https://console.anthropic.com/)
ANTHROPIC_API_KEY=
ANTHROPIC_MODEL=
# OpenAI API (get from https://platform.openai.com/)
OPENAI_API_KEY=
OPENAI_MODEL="gpt-5-mini"
EMBEDDING_INDEX="legacy-openai-1536"
# 32 random bytes, base64-encoded — encrypts per-company embedding provider
# API keys at rest. Generate once and keep constant across deploys:
# node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
EMBEDDING_SECRETS_KEY=
# Google AI API (optional — enables Gemini models, get from https://aistudio.google.com/apikey)
GOOGLE_AI_API_KEY=
GOOGLE_MODEL=
# Ollama (optional — enables local models via Ollama, see https://ollama.com/)
OLLAMA_BASE_URL="OLLAMA_BASE_URL"
OLLAMA_MODEL="llama3.1:8b"
OLLAMA_EMBEDDING_MODEL=
OLLAMA_EMBEDDING_DIMENSION=
OLLAMA_EMBEDDING_VERSION="v1"
# Hugging Face embeddings (optional)
HUGGINGFACE_API_KEY=
HUGGINGFACE_EMBEDDING_MODEL=
HUGGINGFACE_EMBEDDING_DIMENSION=
HUGGINGFACE_EMBEDDING_VERSION="v1"
# LangSmith Tracing (Optional)
LANGCHAIN_TRACING_V2="false"
LANGCHAIN_API_KEY="..."
LANGCHAIN_PROJECT="pdr_ai_v2"
# File Uploading (Optional)
UPLOADTHING_SECRET="your_uploadthing_secret"
UPLOADTHING_APP_ID="your_uploadthing_app_id"
UPLOADTHING_TOKEN="..."
# Data APIs (Optional)
DATALAB_API_KEY="..."
# Background Jobs
JOB_RUNNER="inngest"
INNGEST_EVENT_KEY="local"
INNGEST_SIGNING_KEY="signkey-dev-xxxxx"
# Sidecar ML Compute (Optional)
SIDECAR_URL="http://localhost:8080"
SIDECAR_EMBEDDING_MODEL=
SIDECAR_EMBEDDING_DIMENSION=
SIDECAR_EMBEDDING_VERSION="v1"
# Adeu DOCX Redlining Service
# Docker: http://sidecar:8000
# Local (no Docker): http://localhost:8000
# Vercel: /api/adeu
ADEU_SERVICE_URL="http://localhost:8000"
# Neo4j (optional)
NEO4J_URI="your_neo4j_uri"
NEO4J_USERNAME="your_neo4j_username"
NEO4J_PASSWORD="your_neo4j_password"
# Local S3 Storage (SeaweedFS)
# Set NEXT_PUBLIC_STORAGE_PROVIDER to "local" to use SeaweedFS instead of Vercel Blob/UploadThing.
# All variables below are required when provider is "local". Leave unset for cloud mode (default).
# Storage provider — accepts "cloud" or "local", defaults to "cloud"
# NEXT_PUBLIC_STORAGE_PROVIDER="local"
# SeaweedFS S3 gateway URL — required when provider is "local"
# NEXT_PUBLIC_S3_ENDPOINT="http://localhost:8333"
# S3 region — any value works for SeaweedFS (e.g. us-east-1) — required when provider is "local"
# S3_REGION="us-east-1"
# S3 access key for SeaweedFS authentication — required when provider is "local"
# S3_ACCESS_KEY="pdr_local_key"
# S3 secret key for SeaweedFS authentication — required when provider is "local"
# S3_SECRET_KEY="pdr_local_secret"
# S3 bucket name to store documents in — required when provider is "local"
# S3_BUCKET_NAME="pdr-documents"