78 lines
3.8 KiB
Plaintext
78 lines
3.8 KiB
Plaintext
# ── 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_...
|
|
CLERK_WEBHOOK_SIGNING_SECRET=
|
|
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
|