Files
czlonkowski--n8n-mcp/docs/DATABASE_CONFIGURATION.md
wehub-resource-sync 409e92d6ae
Build and Push Docker Images / Build Docker Image (push) Has been cancelled
Build and Push Docker Images / Build Railway Docker Image (push) Has been cancelled
Build and Publish n8n Docker Image / test-image (push) Has been cancelled
Dependency Compatibility Check / Fresh Install Dependency Check (push) Has been cancelled
Build and Publish n8n Docker Image / build-and-push (push) Has been cancelled
Build and Publish n8n Docker Image / create-release (push) Has been cancelled
Automated Release / Detect Version Change (push) Has been cancelled
Automated Release / Generate Release Notes (push) Has been cancelled
Automated Release / Create GitHub Release (push) Has been cancelled
Automated Release / Package MCPB Bundle (push) Has been cancelled
Automated Release / Build and Verify (push) Has been cancelled
Automated Release / Publish to NPM (push) Has been cancelled
Automated Release / Build and Push Docker Images (push) Has been cancelled
Automated Release / Update Documentation (push) Has been cancelled
Automated Release / Notify Release Completion (push) Has been cancelled
Secret Scan / secretlint (push) Has been cancelled
Test Suite / test (push) Has been cancelled
Test Suite / cjs-runtime (push) Has been cancelled
Test Suite / publish-results (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:41:06 +08:00

59 lines
1.4 KiB
Markdown

# Database & Memory Configuration
## Database Adapters
n8n-mcp uses SQLite for storing node documentation. Two adapters are available:
1. **better-sqlite3** (Default in Docker)
- Native C++ bindings for best performance
- Direct disk writes (no memory overhead)
- Enabled by default in Docker images (v2.20.2+)
- Memory usage: ~100-120 MB stable
2. **sql.js** (Fallback)
- Pure JavaScript implementation
- In-memory database with periodic saves
- Used when better-sqlite3 compilation fails
- Memory usage: ~150-200 MB stable
## Memory Optimization (sql.js)
If using sql.js fallback, you can configure the save interval to balance between data safety and memory efficiency:
**Environment Variable:**
```bash
SQLJS_SAVE_INTERVAL_MS=5000 # Default: 5000ms (5 seconds)
```
**Usage:**
- Controls how long to wait after database changes before saving to disk
- Lower values = more frequent saves = higher memory churn
- Higher values = less frequent saves = lower memory usage
- Minimum: 100ms
- Recommended: 5000-10000ms for production
**Docker Configuration:**
```json
{
"mcpServers": {
"n8n-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e", "SQLJS_SAVE_INTERVAL_MS=10000",
"ghcr.io/czlonkowski/n8n-mcp:latest"
]
}
}
}
```
**docker-compose:**
```yaml
environment:
SQLJS_SAVE_INTERVAL_MS: "10000"
```