Run Actyze on your local machine using Docker Compose. Perfect for evaluation, testing, and local deployments.
Get Actyze running in 5 minutes:
# 1. Clone this repository
git clone https://github.com/actyze/dashboard-docker.git
cd dashboard-docker
# 2. Configure your environment
cp env.example .env
nano .env # Add your LLM API key
# 3. Start Actyze
./start.sh
# 4. Access Actyze
open http://localhost:3000Default Login: nexus_admin / admin
Actyze is an AI-powered analytics platform that lets you query databases using natural language. No SQL knowledge required.
Key Capabilities:
- Ask questions in plain English (supports 50+ languages)
- Automatic SQL generation powered by AI
- Connect to multiple data sources (PostgreSQL, MySQL, MongoDB, Snowflake, BigQuery, and more)
- Upload CSV/Excel files for instant analysis
- Role-based access control
- Query caching for fast performance
System Requirements:
- Docker Desktop 20.10+ (or Docker Engine 20.10+)
- Docker Compose 2.0+
- 8GB+ RAM available for Docker
- 10GB+ disk space
Required Credentials:
- LLM API key (Anthropic Claude, OpenAI, Perplexity, or Groq)
- Optional: Your database connection details
Verify Docker is ready:
docker --version # Should be 20.10.0+
docker-compose --version # Should be 2.0.0+Actyze runs as five containerized services, all pulled from Docker Hub:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Frontend │────▶│ Nexus API │────▶│ PostgreSQL │
│ (React:3000) │ │ (FastAPI:8000) │ │ (5432) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
│
┌────────┴────────┐
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ Schema Service │ │ Trino Engine │
│ (FAISS:8001) │ │ (8081) │
└──────────────────┘ └──────────────────┘
│
▼
┌──────────────────┐
│ Your LLM │
│ (Claude/GPT-4) │
└──────────────────┘
Services:
- Frontend (port 3000): Web interface
- Nexus (port 8000): API and AI orchestration
- Schema Service (port 8001): Intelligent table recommendations
- PostgreSQL (port 5432): Application database
- Trino (port 8081): Connects to your data sources
git clone https://github.com/actyze/dashboard-docker.git
cd dashboard-docker# Copy the example configuration
cp env.example .env
# Edit with your settings
nano .envRequired Configuration:
# AI Provider (REQUIRED) - Choose one provider's API key
ANTHROPIC_API_KEY=your-api-key-here
EXTERNAL_LLM_MODEL=claude-sonnet-4-20250514
# Database Password (REQUIRED)
POSTGRES_PASSWORD=choose-a-secure-passwordOptional - Connect Your Database:
# If you want to use external Trino
TRINO_HOST=your-trino-server.com
TRINO_PORT=443
TRINO_SSL=true
TRINO_SSL_VERIFY=false # Set to false for self-signed certificatesSee Configuration Guide for all options.
# Start all services
./start.sh
# Wait for all services to become healthy (30-60 seconds)
# You'll see: "All services are healthy!"Open your browser:
- Dashboard: http://localhost:3000
- API Docs: http://localhost:8000/docs
Login with default credentials:
- Username:
nexus_admin - Password:
admin
Change the default password immediately after first login.
Actyze supports 100+ AI providers via LiteLLM. Just set the provider's API key and model name - everything else is automatic.
Anthropic Claude (Recommended):
ANTHROPIC_API_KEY=sk-ant-xxxxx
EXTERNAL_LLM_MODEL=claude-sonnet-4-20250514OpenAI:
OPENAI_API_KEY=sk-xxxxx
EXTERNAL_LLM_MODEL=gpt-4oGoogle Gemini:
GEMINI_API_KEY=your-key
EXTERNAL_LLM_MODEL=gemini/gemini-proPerplexity:
PERPLEXITY_API_KEY=pplx-xxxxx
EXTERNAL_LLM_MODEL=perplexity/sonar-reasoning-proGroq (Free tier available):
GROQ_API_KEY=gsk_xxxxx
EXTERNAL_LLM_MODEL=groq/llama-3.3-70b-versatileEnterprise Gateway (for IT-managed AI):
EXTERNAL_LLM_MODE=openai-compatible
EXTERNAL_LLM_BASE_URL=https://llm-gateway.company.com/v1/chat/completions
EXTERNAL_LLM_API_KEY=your-enterprise-token
EXTERNAL_LLM_MODEL=your-internal-modelSee Full Provider List:
- LLM_PROVIDERS.md - Detailed configuration guide
- All 100+ Providers - Complete provider documentation
Use Local PostgreSQL (Default):
- Included with Actyze
- No additional configuration needed
- Starts automatically with
./start.sh
Use External Trino:
TRINO_HOST=your-trino-server.com
TRINO_PORT=443
TRINO_USER=your-username
TRINO_PASSWORD=your-password
TRINO_SSL=true
TRINO_SSL_VERIFY=false # Set to false for self-signed certificates
TRINO_CATALOG=your-catalog
TRINO_SCHEMA=your-schemaConfigure Trino to connect to your databases:
See trino/ directory for connector configurations (PostgreSQL, MySQL, MongoDB, Snowflake, etc.)
# Query caching (recommended)
CACHE_ENABLED=true
CACHE_QUERY_MAX_SIZE=100 # Cache up to 100 queries
CACHE_QUERY_TTL=1800 # Cache for 30 minutes
# Logging
LOG_LEVEL=INFO # Options: DEBUG, INFO, WARNING, ERROR
DEBUG=false # Set to true for detailed logs# Start Actyze
./start.sh
# Stop Actyze (preserves data)
./stop.sh
# Stop and remove all data
./stop.sh --clean
# View logs
docker-compose logs -f
# View logs for specific service
docker-compose logs -f nexus
# Check service status
docker-compose psChoose which services to run:
Local (Default) - All services:
./start.sh
# Runs: PostgreSQL, Trino, Schema Service, Nexus, FrontendExternal Databases - Connect to your existing infrastructure:
# Configure external databases in .env first
./start.sh --profile external
# Runs: Schema Service, Nexus, Frontend
# Connects to: Your external PostgreSQL and TrinoMixed - Local PostgreSQL + External Trino:
./start.sh --profile postgres-only1. Login
- Go to http://localhost:3000
- Login with:
nexus_admin/admin - Change password in Settings
2. Connect Your Data
- Click "Data Sources"
- Add Trino connection or upload CSV/Excel files
3. Ask Questions
- Type your question in natural language
- Examples:
- "What were our total sales last quarter?"
- "Show top 10 customers by revenue"
- "List all orders from this week"
- Click "Generate SQL" and "Execute"
4. Save and Share
- Save queries for later
- Create dashboards
- Share with team members (configure RBAC in Settings)
Check Docker resources:
docker info | grep "Total Memory"
# Should show 8GB+ available
# Increase in Docker Desktop: Preferences → Resources → MemoryCheck logs:
docker-compose logs nexus
docker-compose logs schema-serviceError: "port is already allocated"
Solution:
# Find what's using the port
lsof -i :3000
# Stop the conflicting service or change ports in docker-compose.yml# Verify configuration
cat .env | grep POSTGRES
# Reset and restart
./stop.sh --clean
./start.shCheck your API key:
cat .env | grep API_KEYTest the API key directly:
# For Anthropic
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: YOUR_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-20250514","max_tokens":100,"messages":[{"role":"user","content":"test"}]}'Enable caching:
# In .env
CACHE_ENABLED=trueUse faster LLM models:
# Groq is very fast (and free)
EXTERNAL_LLM_PROVIDER=groq
EXTERNAL_LLM_MODEL=mixtral-8x7b-32768Check service health:
curl http://localhost:3000 # Frontend
curl http://localhost:8000/health # Nexus
curl http://localhost:8001/health # Schema ServiceReview logs:
docker-compose logs -fDocumentation:
- Full documentation: https://docs.actyze.io
- LLM providers: LLM_PROVIDERS.md
- Architecture: ARCHITECTURE.md
Support:
- GitHub Issues: https://github.com/actyze/dashboard-docker/issues
- Documentation: https://docs.actyze.io
# Stop current version
./stop.sh
# Pull latest images
docker-compose pull
# Start updated version
./start.shDocker Compose automatically pulls the latest images from Docker Hub when you restart.
This Docker Compose setup is designed for local use, evaluation, and testing.
For production deployments, use Kubernetes with Helm charts:
- Helm Charts: https://github.com/actyze/helm-charts
- Documentation: https://docs.actyze.io/docs/deployment/helm
- Features: Auto-scaling, high availability, production-grade resources
- LLM_PROVIDERS.md - Complete LLM configuration guide
- ARCHITECTURE.md - System architecture details
- CONFIGURATION.md - Advanced configuration options
- CHANGELOG.md - Version history
- Documentation Site: https://docs.actyze.io
- Helm Charts (Production): https://github.com/actyze/helm-charts
- Docker Hub: https://hub.docker.com/u/actyze
Run Actyze locally. Query your data with natural language. Get insights instantly.