Configuration
All configuration is environment-variable based. No config files needed.Quick Reference
| Variable | Default | Description |
|---|---|---|
PORT | 3100 | Server port |
NODE_ENV | development | development | staging | production |
MONGODB_URL | — | MongoDB connection string (required) |
REDIS_URL | — | Redis URL (optional, falls back to in-memory) |
RATE_LIMIT_ENABLED | true | Enable rate limiting |
RATE_LIMIT_TTL | 60 | Rate limit window (seconds) |
RATE_LIMIT_MAX | 100 | Max requests per window |
IDEMPOTENCY_ENABLED | true | Enable idempotent API |
IDEMPOTENCY_TTL | 86400 | Idempotency cache TTL (seconds) |
LOG_LEVEL | info | debug | info | warn | error |
LOG_TO_FILE | false | Enable file logging |
LOG_TO_DB | false | Enable MongoDB logging |
DEFAULT_LOCALE | en | Default i18n locale |
SUPPORTED_LOCALES | en,ms | Comma-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