Configuration

All configuration is environment-variable based. No config files needed.

Quick Reference

VariableDefaultDescription
PORT3100Server port
NODE_ENVdevelopmentdevelopment | staging | production
MONGODB_URLMongoDB connection string (required)
REDIS_URLRedis URL (optional, falls back to in-memory)
RATE_LIMIT_ENABLEDtrueEnable rate limiting
RATE_LIMIT_TTL60Rate limit window (seconds)
RATE_LIMIT_MAX100Max requests per window
IDEMPOTENCY_ENABLEDtrueEnable idempotent API
IDEMPOTENCY_TTL86400Idempotency cache TTL (seconds)
LOG_LEVELinfodebug | info | warn | error
LOG_TO_FILEfalseEnable file logging
LOG_TO_DBfalseEnable MongoDB logging
DEFAULT_LOCALEenDefault i18n locale
SUPPORTED_LOCALESen,msComma-separated locales

Server

PORT=3100
NODE_ENV=development

Database

# MongoDB (required)
MONGODB_URL=mongodb://localhost:27017/clawui

# With authentication
MONGODB_URL=mongodb://user:password@localhost:27017/clawui?authSource=admin

Cache

# Redis (optional - in-memory fallback if not set)
REDIS_URL=redis://localhost:6379

# With password
REDIS_URL=redis://:password@localhost:6379

Rate Limiting

RATE_LIMIT_ENABLED=true
RATE_LIMIT_TTL=60           # 60 second window
RATE_LIMIT_MAX=100          # 100 requests per window

Idempotent API

IDEMPOTENCY_ENABLED=true
IDEMPOTENCY_TTL=86400      # 24 hours

Logging

LOG_LEVEL=info

# File transport
LOG_TO_FILE=true
LOG_FILE_PATH=/var/log/gremlin/app.log
LOG_FILE_MAX_SIZE=100MB
LOG_FILE_MAX_FILES=30

# MongoDB transport
LOG_TO_DB=true

i18n

DEFAULT_LOCALE=en
SUPPORTED_LOCALES=en,ms

Environment Examples

Development

NODE_ENV=development
PORT=3100
MONGODB_URL=mongodb://localhost:27017/clawui_dev
LOG_LEVEL=debug
RATE_LIMIT_ENABLED=false

Staging

NODE_ENV=staging
PORT=3100
MONGODB_URL=mongodb://staging-mongo:27017/clawui
REDIS_URL=redis://staging-redis:6379
LOG_LEVEL=info
LOG_TO_FILE=true
LOG_TO_DB=true
RATE_LIMIT_ENABLED=true
RATE_LIMIT_MAX=100

Production

NODE_ENV=production
PORT=3100
MONGODB_URL=mongodb://prod-mongo:27017/clawui?replicaSet=rs0
REDIS_URL=redis://prod-redis:6379
LOG_LEVEL=warn
LOG_TO_FILE=true
LOG_TO_DB=true
RATE_LIMIT_ENABLED=true
RATE_LIMIT_MAX=50
IDEMPOTENCY_TTL=86400