This commit is contained in:
76
.env.example
Normal file
76
.env.example
Normal file
@@ -0,0 +1,76 @@
|
||||
# ── LLM provider API keys ───────────────────────────────────────────
|
||||
# CANONICAL STORE = the encrypted vault (~/.waggle/vault.json), set via the UI
|
||||
# (Settings → API Keys). The server hydrates process.env FROM the vault at boot,
|
||||
# so you normally do NOT set provider keys here.
|
||||
#
|
||||
# Full provider set the app can use (all vault-managed, keyed by provider id):
|
||||
# anthropic · openai · google (gemini) · xai · deepseek · openrouter · mistral
|
||||
# · moonshot (kimi) · alibaba (dashscope/qwen) · minimax · zhipu (glm)
|
||||
# · perplexity · genspark + tavily (web search)
|
||||
#
|
||||
# Only the following are ALSO read directly from env (for CI / headless runs
|
||||
# where the vault UI isn't available):
|
||||
# ANTHROPIC_API_KEY=
|
||||
# OPENAI_API_KEY=
|
||||
# VOYAGE_API_KEY= # embeddings only (EMBEDDING_PROVIDER=voyage)
|
||||
|
||||
# LiteLLM proxy master key
|
||||
LITELLM_MASTER_KEY=sk-waggle-dev
|
||||
|
||||
# LiteLLM proxy URL (for multi-model routing)
|
||||
LITELLM_BASE_URL=http://localhost:4000
|
||||
|
||||
# ── Embedding Provider (M2-1) ───────────────────────────────────────
|
||||
# Default: auto (tries InProcess → Ollama → API → mock)
|
||||
# Options: auto, inprocess, ollama, voyage, openai, mock
|
||||
# EMBEDDING_PROVIDER=auto
|
||||
|
||||
# In-process (default — zero config, works offline)
|
||||
# Model downloads ~23MB on first launch, cached in ~/.waggle/models/
|
||||
# EMBEDDING_MODEL=Xenova/all-MiniLM-L6-v2
|
||||
|
||||
# Ollama (power user — needs Ollama installed: https://ollama.com)
|
||||
# OLLAMA_HOST=http://localhost:11434
|
||||
# OLLAMA_EMBED_MODEL=nomic-embed-text
|
||||
|
||||
# API Providers (set keys in the app: Vault → Secrets → Embedding Providers)
|
||||
# Or set here for CI/headless only:
|
||||
# VOYAGE_API_KEY=
|
||||
|
||||
# M3 Server Configuration
|
||||
DATABASE_URL=postgres://waggle:waggle_dev@localhost:5434/waggle
|
||||
REDIS_URL=redis://localhost:6381
|
||||
CLERK_SECRET_KEY=sk_test_...
|
||||
CLERK_PUBLISHABLE_KEY=pk_test_...
|
||||
PORT=3100
|
||||
CORS_ORIGIN=http://localhost:8080
|
||||
|
||||
# ── Stripe (M2-2 Billing) ──────────────────────────────────────────
|
||||
# Required for paid tier checkout and subscription management.
|
||||
# Get keys from https://dashboard.stripe.com/apikeys
|
||||
# STRIPE_SECRET_KEY=
|
||||
# STRIPE_WEBHOOK_SECRET=
|
||||
# Price IDs. Since the Solo-vs-Team collapse (2026-07-05) TEAMS is the ONLY active
|
||||
# checkout price. The PRO vars are legacy — still recognized on inbound webhooks
|
||||
# (a legacy PRO subscriber resolves to Solo/FREE, never a removed tier), but no new
|
||||
# PRO checkout is offered.
|
||||
# STRIPE_PRICE_TEAMS_MONTHLY= # active — the only new-checkout price
|
||||
# STRIPE_PRICE_TEAMS_ANNUAL= # active
|
||||
# STRIPE_PRICE_PRO_MONTHLY= # legacy — webhook-recognized, resolves to Solo/FREE
|
||||
# STRIPE_PRICE_PRO_ANNUAL= # legacy — webhook-recognized, resolves to Solo/FREE
|
||||
# Legacy single-price vars (still resolved as a fallback):
|
||||
# STRIPE_PRICE_BASIC= # legacy — webhook-recognized, resolves to Solo/FREE
|
||||
# STRIPE_PRICE_PRO= # legacy — webhook-recognized, resolves to Solo/FREE
|
||||
# STRIPE_PRICE_TEAMS= # legacy single-var fallback for TEAMS
|
||||
|
||||
# ── MinIO (Team File Storage) ──────────────────────────────────────
|
||||
# S3-compatible object storage for shared team workspace files.
|
||||
# docker compose up starts MinIO + auto-creates waggle-files bucket.
|
||||
MINIO_ENDPOINT=localhost:9000
|
||||
MINIO_BUCKET=waggle-files
|
||||
MINIO_ACCESS_KEY=waggle
|
||||
MINIO_SECRET_KEY=waggle_s3_dev
|
||||
|
||||
# ── Teams Server (M3 PostgreSQL) ──────────────────────────────────
|
||||
# When DATABASE_URL is set, the Teams server starts alongside the local server.
|
||||
# TEAMS_SERVER_PORT=3101
|
||||
Reference in New Issue
Block a user