# Scribe MCP environment defaults
# Database backend (optional)
# SCRIBE_DB_URL=postgresql://user:pass@localhost:5432/scribe
# Storage backend override: "sqlite" or "postgres"
# SCRIBE_STORAGE_BACKEND=sqlite
# Postgres runtime settings (remote-safe defaults)
# SCRIBE_POSTGRES_SCHEMA=scribe
# SCRIBE_POSTGRES_POOL_MIN_SIZE=2
# SCRIBE_POSTGRES_POOL_MAX_SIZE=20
# SCRIBE_POSTGRES_CONNECT_TIMEOUT_SECONDS=10
# SCRIBE_POSTGRES_COMMAND_TIMEOUT_SECONDS=30
# SCRIBE_POSTGRES_CONNECT_RETRIES=3
# SCRIBE_POSTGRES_CONNECT_RETRY_BACKOFF_SECONDS=1.0
# Optional Postgres bootstrap credentials for `scribe-bootstrap-postgres`
# SCRIBE_POSTGRES_SUPERUSER_USER=postgres
# SCRIBE_POSTGRES_SUPERUSER_PASSWORD=
# SCRIBE_POSTGRES_SUPERUSER_HOST=127.0.0.1
# SCRIBE_POSTGRES_SUPERUSER_PORT=5432
# SCRIBE_POSTGRES_SUPERUSER_DB=postgres
# SCRIBE_POSTGRES_ADMIN_USER=scribe_admin
# SCRIBE_POSTGRES_ADMIN_PASSWORD=
# SCRIBE_POSTGRES_APP_USER=scribe_app
# SCRIBE_POSTGRES_APP_PASSWORD=
# SCRIBE_POSTGRES_APP_DB=scribe
# Rate limiting (entries per window)
SCRIBE_LOG_RATE_LIMIT_COUNT=60
SCRIBE_LOG_RATE_LIMIT_WINDOW=60
# Progress log rotation (bytes); 0 disables auto-rotation
SCRIBE_LOG_MAX_BYTES=524288
# Default project to load when none selected
SCRIBE_DEFAULT_PROJECT=scribe_mcp
# Object store (CortaStore / S3) — enables cross-machine doc sync
# SCRIBE_OBJECT_STORE_URL=http://council-hub:8201
# SCRIBE_OBJECT_STORE_PROVIDER=corta
# SCRIBE_OBJECT_STORE_KEY=your-hmac-secret
# SCRIBE_OBJECT_STORE_PROJECT=council
# S3-compatible provider (alternative to CortaStore)
# SCRIBE_OBJECT_STORE_PROVIDER=s3
# SCRIBE_S3_BUCKET=my-bucket
# SCRIBE_S3_PREFIX=scribe/
# SCRIBE_S3_REGION=us-east-1
# ---------------------------------------------------------------------------
# CLIENT MODE
# ---------------------------------------------------------------------------
# Use these settings when running Scribe MCP as a lightweight client
# that proxies DB operations to a remote Scribe server (e.g. Hetzner).
#
# Operating mode: "auto" (default), "server", "client", "standalone"
# auto - detect from SCRIBE_REMOTE_URL / SCRIBE_DB_URL presence
# client - force client mode (requires SCRIBE_REMOTE_URL)
# server - full server with direct DB access
# standalone - local-only SQLite, no remote
# SCRIBE_MODE=client
#
# Remote Scribe server URL (triggers client mode when set + reachable)
# SCRIBE_REMOTE_URL=http://council-hub:8200
#
# Connection timeout for remote health probe (seconds)
# SCRIBE_REMOTE_CONNECT_TIMEOUT=3.0
#
# Fall back to standalone mode if the remote server is unreachable.
# Set to "false" to make an unreachable remote a hard startup failure.
# SCRIBE_REMOTE_FALLBACK=true
#
# NOTE: In CLIENT mode, SCRIBE_DB_URL and SCRIBE_STORAGE_BACKEND are NOT needed.
# The client proxies all DB operations to the remote server, so no local
# database is created or used. You can remove or comment out those settings
# when running in client mode — they will be ignored by the storage factory.
#
# In client mode you typically do NOT need:
# SCRIBE_DB_URL, SCRIBE_STORAGE_BACKEND, SCRIBE_POSTGRES_*
#
# Object store settings are KEPT in client mode -- the client
# talks to CortaStore directly for document sync:
# SCRIBE_OBJECT_STORE_URL, SCRIBE_OBJECT_STORE_KEY, etc.