-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
109 lines (83 loc) · 6.6 KB
/
Copy path.env.example
File metadata and controls
109 lines (83 loc) · 6.6 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
# ─── Provider selection ────────────────────────────────────────────────────────
# Explicit provider selection. If omitted, the runtime auto-detects based on
# which API keys are present (see fallback order in docs/guide/env.md).
# EMBEDDING_PROVIDER=gemini # gemini | openai | voyage | ollama-local
# LLM_PROVIDER=anthropic # anthropic | openai | mistral | ollama-cloud | ollama-local
# ─── Google Gemini (embedding) ─────────────────────────────────────────────────
GOOGLE_API_KEY=
# ─── OpenAI (embedding and/or chat) ────────────────────────────────────────────
OPENAI_API_KEY=
# OPENAI_LLM_MODEL=gpt-4.1-mini
# ─── Voyage AI (embedding) ─────────────────────────────────────────────────────
VOYAGE_API_KEY=
# ─── Anthropic (chat) ──────────────────────────────────────────────────────────
ANTHROPIC_API_KEY=
# ANTHROPIC_MODEL=claude-sonnet-4-6
# ─── Mistral (chat) ────────────────────────────────────────────────────────────
MISTRAL_API_KEY=
# MISTRAL_MODEL=mistral-medium-latest
# ─── Ollama (local or cloud — embedding + chat) ────────────────────────────────
OLLAMA_URL=http://ollama:11434
OLLAMA_API_KEY=
# Embedding model — nomic-embed-text produces 768-dimensional vectors
OLLAMA_MODEL=nomic-embed-text
# LLM for chat — IMPORTANT: tinyllama does NOT support tool calling.
# Use llama3.1:8b or qwen2.5:7b-instruct for reliable RAG.
OLLAMA_LLM_MODEL=llama3.1:8b
OLLAMA_CHAT_TIMEOUT_MS=180000
OLLAMA_PLANNER_TIMEOUT_MS=60000
# ─── Embedding shared ──────────────────────────────────────────────────────────
# EMBEDDING_MODEL= # override model for the active provider
EMBEDDING_DIMENSIONS=768 # must match the pgvector column
# ─── Database ──────────────────────────────────────────────────────────────────
# Self-hosted pgvector (docker-compose sets this automatically):
# DATABASE_URL=postgresql://rag:rag_password@localhost:5432/rag_db
# Supabase Vector — direct connection:
# DATABASE_URL=postgresql://postgres:<password>@db.<project-ref>.supabase.co:5432/postgres
# Supabase Vector — transaction pooler (recommended for serverless):
# DATABASE_URL=postgresql://postgres.<project-ref>:<password>@aws-0-<region>.pooler.supabase.com:6543/postgres
# ─── PostgreSQL container (docker-compose only) ────────────────────────────────
POSTGRES_USER=rag
POSTGRES_PASSWORD=CHANGE_ME_STRONG_PASSWORD
POSTGRES_DB=rag_db
# ─── Memory ────────────────────────────────────────────────────────────────────
# local_per_user: each user only sees their own memories
# disabled: chat memories excluded from search
MEMORY_SCOPE=local_per_user
MEMORY_PROACTIVE=true
# ─── Admin API ─────────────────────────────────────────────────────────────────
# Optional bearer for scripts/CI without a browser session. Any signed-in user may call /api/admin/*.
# openssl rand -hex 32
ADMIN_API_KEY=CHANGE_ME_RANDOM_SECRET
# ─── Auth (better-auth) ────────────────────────────────────────────────────────
# Required. Generate with: openssl rand -hex 32 (use the same value for both lines, or only BETTER_AUTH_SECRET).
BETTER_AUTH_SECRET=CHANGE_ME_RANDOM_SECRET
AUTH_SECRET=CHANGE_ME_RANDOM_SECRET
# Public URL of the app (used for OAuth callbacks; in Docker use http://localhost:PORT if that is how you open the app)
BETTER_AUTH_URL=http://localhost:3000
# Google OAuth — create at https://console.cloud.google.com/
# Authorized redirect URI: $BETTER_AUTH_URL/api/auth/callback/google
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# GitHub OAuth — create at https://github.com/settings/developers
# Authorized callback URL: $BETTER_AUTH_URL/api/auth/callback/github
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# ─── pgAdmin (docker-compose dev only) ────────────────────────────────────────
PGADMIN_DEFAULT_EMAIL=admin@example.com
PGADMIN_DEFAULT_PASSWORD=CHANGE_ME_PGADMIN_PASSWORD
# ─── Docker Compose (optional) ─────────────────────────────────────────────────
# Uncomment so `docker compose up -d --build` uses this profile without --profile
# COMPOSE_PROFILES=full
# ─── Local dev: pnpm dev with Postgres from `docker compose --profile api up` ──
# OLLAMA_URL=http://localhost:11434
# WORKFLOW_LOCAL_DATA_DIR=./data/workflow
# ─── Public URLs (Nuxt app) ────────────────────────────────────────────────────
# Header link to the published docs / marketing site (GitHub Pages, etc.).
# NUXT_PUBLIC_DOCS_SITE_URL=https://albegosu.github.io/hypar/
# ─── Production hardening (optional) ───────────────────────────────────────────
# REDIS_URL=redis://localhost:6379 # shared rate limits across replicas
# SKIP_ENV_VALIDATION=true # only for CI/build; never in production
# ─── Production (docker-compose.prod.yml only) ─────────────────────────────────
# Domain for Caddy automatic TLS (e.g. rag.example.com)
DOMAIN=rag.example.com