Files
waggle-os/.env.example
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

77 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_...
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