Clone
1
AI Tools Stack
WMJ Ismail edited this page 2026-07-08 10:22:58 +02:00
🔧 AI Tools Stack
Self-hosted AI productivity tools deployed on Docker Swarm (Contabo VPS). All tools use OpenClaw API (https://opencode.ai/zen/go/v1) as the LLM backend — no external API keys needed.
| Tool | URL | Status | Purpose |
|---|---|---|---|
| AnythingLLM | https://anything.falahos.my | ✅ Running | Document RAG — upload wikis, SOPs, manuals, query with AI |
| LibreChat | https://chat.falahos.my | ✅ Running | Multi-model chat with MCP agents — can interface with Odysseus, OpenClaw, OpenHands |
| Perplexica (Vane) | https://search.falahos.my | 🟡 Starting | AI-powered search engine — self-hosted Perplexity alternative |
Infrastructure
| Component | Detail |
|---|---|
| Deployment | /opt/falah-os/swarm/aitools-stack.yml (separate Swarm stack) |
| Swarm Stack | aitools (4 services: anythingllm, librechat, librechat-mongodb, perplexica) |
| Host Node | vmi3361598 (Contabo VPS, Docker 29.5.3) |
| DNS | Cloudflare A records, proxied, pointing to 13.140.161.244 |
| LLM Backend | OpenClaw API at https://opencode.ai/zen/go/v1 (no auth required) |
| Image Sizes | AnythingLLM=4.78GB, LibreChat=3.83GB, Vane=13.1GB |
AnythingLLM Setup
- Visit https://anything.falahos.my
- Create admin account on first login
- Configure LLM provider: OpenAI-compatible →
https://opencode.ai/zen/go/v1 - Upload documents via drag-and-drop
- Start asking questions against your knowledge base
LibreChat Setup
- Visit https://chat.falahos.my
- Register first admin account
- Configure endpoints for each agent:
- OpenClaw:
https://opencode.ai/zen/go/v1(no key) - Odysseus: (add via custom endpoint)
- OpenHands: (add via custom endpoint)
- OpenClaw:
- Supports: MCP tools, Code Interpreter, multi-model chat
Perplexica Setup
- Visit https://search.falahos.my
- Configure LLM provider in settings
- Start searching with source citations
Initial Deployment Issues
| Issue | Cause | Resolution |
|---|---|---|
| Synology Alpine VM kept breaking Swarm Raft | Docker 20.10.3 incompatible with Docker 29.x Raft consensus | Removed from Swarm. Only modern Docker nodes are managers |
| MongoDB exit 132 on Alpine VM | MongoDB 8.0+ requires AVX CPU instructions | Use mongo:4.2 for older CPUs, or pin to Contabo node |
| AnythingLLM OOM on first start | 4.78GB app needs >1024M memory | Increased limit to 2048M |
| LibreChat crash on startup | Missing JWT_SECRET env var |
Added JWT_SECRET to stack file |
| LibreChat Preplexica health checks killed containers | wget not available in Node images |
Switched to CMD node -e for health checks |