Overview
Onyx (formerly Danswer) is a self-hosted AI platform that connects to your company's data sources and provides ChatGPT-like chat with retrieval-augmented generation. It supports any LLM provider and includes 25+ connectors for Confluence, Slack, Google Drive, GitHub, Notion, and more.
Instructions
Deployment
Deploy Onyx using Docker Compose:
git clone https://github.com/onyx-dot-app/onyx.git
cd onyx/deployment/docker_compose
docker compose up -d
Access the admin panel at http://localhost:3000. Create an admin account on first visit.
Configure LLM Provider
In Admin → LLM Configuration, add your provider:
- OpenAI: Enter API key, select model (gpt-4o recommended)
- Anthropic: Enter API key, select Claude model
- Azure OpenAI: Enter endpoint URL, API key, deployment name
- Ollama: Point to local Ollama instance for fully private setup
Connect Data Sources
In Admin → Connectors, add sources:
- Confluence: Enter base URL + API token. Onyx indexes all spaces.
- Slack: Install Onyx Slack app, select channels to index.
- Google Drive: OAuth connection, select shared drives.
- GitHub: Personal access token, select repos.
- Web scraping: Enter URLs to crawl and index.
Each connector runs on a configurable schedule (hourly, daily, weekly).
Create Assistants
Create specialized assistants with different system prompts and document access:
- Engineering Assistant: Access to GitHub + Confluence tech docs
- Sales Assistant: Access to CRM data + product docs
- HR Assistant: Access to policies + handbook (restricted access)
Examples
Example 1: Company knowledge search
User prompt: "What is our refund policy for enterprise customers?"
The assistant searches across Confluence docs and Google Drive, finds the relevant policy document, and responds with the answer including a citation link to the source document.
Example 2: Code question
User prompt: "How does our authentication middleware work?"
The assistant searches GitHub repos, finds the auth middleware files, and explains the implementation with code references.
Guidelines
- Start with 1-2 connectors, verify quality before adding more
- Set document permissions to match your org structure
- Use Ollama for fully air-gapped deployments (no data leaves your network)
- Monitor token usage in Admin → Analytics to control costs
- Schedule connector syncs during off-hours to avoid load spikes
- Test RAG quality with known questions before rolling out to team