This guide covers setting up Eneo for development and testing using the DevContainer approach.
Production Deployment? See the DEPLOYMENT.md guide for production setup.
- Development Port:
8123(Backend API) - Frontend Port:
3000 - Recommended Setup: VS Code DevContainer
- Time to Setup: ~10 minutes
- Docker Desktop - Download here
- VS Code - Download here
- Dev Containers Extension - Install from VS Code marketplace
- At least one AI provider API key (OpenAI, Anthropic, etc.)
git clone https://github.com/eneo-ai/eneo.git
cd eneo
code .When VS Code opens:
- You'll see a notification: "Folder contains a Dev Container configuration"
- Click "Reopen in Container"
- Wait 2-3 minutes for initial setup (only first time)
Note: If you don't see the notification, install the "Dev Containers" extension from the VS Code marketplace (
ms-vscode-remote.remote-containers), then reload VS Code.
Now edit backend/.env and add your AI provider key:
# Example for OpenAI
OPENAI_API_KEY=sk-proj-your-actual-key-here
# Optional: Enable additional features
USING_ACCESS_MANAGEMENT=True # Enables Users tab in admin panelcd backend
uv run python init_db.pyImportant: The
init_db.pyscript:
- Creates an example tenant and user (
user@example.com/Password1!)- Runs all database migrations automatically
- Can be re-run after code updates to apply new migrations
Open 3 separate terminals in VS Code:
Terminal 1 - Backend API:
cd backend
uv run startTerminal 2 - Frontend:
cd frontend
bun run devTerminal 3 - Worker (Optional, for document processing and for the crawler & apps to work):
cd backend
uv run arq src.intric.worker.arq.WorkerSettings-
Access the Application
- Frontend: http://localhost:3000
- Backend API Docs: http://localhost:8123/docs
-
Login with Default Credentials
- Email:
user@example.com - Password:
Password1!
- Email:
-
Change the Default Password (Important!)
- Click user menu (top-right corner)
- Select "Change Password"
Configure at least one provider in backend/.env:
OpenAI:
OPENAI_API_KEY=sk-proj-...Anthropic:
ANTHROPIC_API_KEY=sk-ant-...Azure OpenAI:
AZURE_API_KEY=your-key
AZURE_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_API_VERSION=2024-02-15-preview
AZURE_MODEL_DEPLOYMENT=gpt-4o
USING_AZURE_MODELS=TrueAdd these to backend/.env for full admin capabilities:
# Enable user management in admin panel
USING_ACCESS_MANAGEMENT=True
# Access to system admin endpoints
ENEO_SUPER_API_KEY=your-secure-api-key
# Access to modules endpoint (higher privilege)
ENEO_SUPER_DUPER_API_KEY=your-other-secure-api-key
# Increase file upload limits (in bytes, 10MB example)
UPLOAD_MAX_FILE_SIZE=10485760Add to backend/.env:
USING_ACCESS_MANAGEMENT=TrueThen restart the backend.
- Login to admin panel
- Navigate to Models → Transcription tab
- Enable a transcription model (e.g., Whisper)
Increase limits in backend/.env:
UPLOAD_MAX_FILE_SIZE=10485760 # 10MB in bytesThe frontend is configured to bind to 0.0.0.0 by default (see vite.config.ts line 36), which should work in most development environments including WSL.
If you still experience login issues:
- Verify the backend is running on port 8123:
curl http://localhost:8123/version - Check that the
JWT_SECRETinbackend/.envis set - Clear your browser cookies and try again
Re-run the initialization script to apply new migrations:
cd backend
uv run python init_db.pyThis safely applies any new database migrations without losing data.
Check if ports are already in use:
lsof -i :3000 # Frontend
lsof -i :8123 # Backend (development)
lsof -i :5432 # PostgreSQL
lsof -i :6379 # Redis- Start DevContainer - VS Code automatically reconnects
- Pull Latest Changes -
git pull origin develop - Update Dependencies (if needed):
cd backend && uv sync cd frontend && bun install
- Apply Migrations -
cd backend && uv run python init_db.py - Start Services - Run the 3 terminal commands
Backend Tests:
cd backend
uv run pytest # Run all tests
uv run pytest tests/api/ -v # Specific tests with verbose outputFrontend Tests:
cd frontend
bun run test # Run tests
bun run lint # Check code style
bun run check # Type checkingAfter modifying database models:
cd backend
uv run alembic revision --autogenerate -m "describe your changes"
uv run alembic upgrade head- Explore the API - Visit http://localhost:8123/docs
- Create Your First Assistant - Use the web interface
- Enable Document Processing - Start the worker service
- Configure Additional Models - Through the admin panel
- Review Architecture - Check ARCHITECTURE.md
- Deployment Guide - Production setup
- API Documentation - Interactive API explorer
- GitHub Issues - Report problems
- Discussions - Get help
Need Help? Join our community discussions or report an issue.