The all-in-one AI stack providing automation, chat interface, and web serving capabilities.
- 🚀 n8n: Powerful workflow automation tool
- 💬 Open WebUI: Web interface for AI interactions
- 🔍 SearXNG: Privacy-focused metasearch engine
- 🛡️ Caddy: Modern web server with automatic HTTPS
- 🐘 PostgreSQL: Database for n8n
- 📝 Tika: Document processing engine
- Docker
- Docker Compose
- Clone this repository
- Uncomment services that you want to run.
- Update environment variables in
docker-compose.yml:- All passwords (marked as "change-me")
- Encryption keys
- Webhook URLs
- Update configuration in
Caddyfile- All domains (marked as "change-me.com")
- Run:
docker compose up -d- Open the app:
- Open WebUI: http://localhost:8080
- n8n: http://localhost:5678
- SearXNG: http://localhost:9000
| Service | Host Port | Container Port | Description |
|---|---|---|---|
| Open WebUI | 8080 | 8080 | Web interface for AI interactions |
| n8n | 5678 | 5678 | Webhook server for n8n |
| Caddy | 80,443 | 80,443 | Web server with automatic HTTPS |
| PostgreSQL | 5432 | 5432 | Database for n8n |
| SearXNG | 9000 | 8080 | Privacy-focused metasearch engine |
| Tika | 9998 | 9998 | Document processing engine |
-
Open the Open WebUI
-
Go to Admin Panel
-
Go to Settings
-
Go to Web Search
-
Enable the "Web Search" toggle
-
Set the "Web Search Engine" to "SearXNG"
-
Set the "Web Search URL" to
http://searxng:8080/search?q=<query>&format=jsona. Replace "searxng" with the hostname of your SearXNG instance
b. Replace "8080" with the container port of your SearXNG instance
-
Save the settings
-
Open a new chat
-
Toggle the "Web Search" toggle and submit the chat
-
Open the Open WebUI
-
Go to Admin Panel
-
Go to Settings
-
Go to Documents
-
Set the "Content Extraction Engine" to Tika
-
Set the Tika URL to
http://tika:9998a. Replace "tika" with the hostname of your Tika instance
b. Replace "9998" with the container port of your Tika instance
-
Save the settings
-
Open a new chat
-
Upload a document (PDF, DOCX, etc.)
-
Chat with the document