Version: 6.0.0
Welcome to EDDI!
This article will help you to get started with EDDI.
EDDI is a middleware orchestration service for conversational AI. When you run EDDI, you're starting:
- The EDDI Service: A Java/Quarkus application that exposes REST APIs for agent management and conversations
- MongoDB: A database that stores agent configurations, packages, and conversation history
- Optional UI: A web-based dashboard for managing agents (accessible at http://localhost:7070)
Once running, you can:
- Create and configure agents through the API or dashboard
- Integrate agents into your applications via REST API
- Connect to LLM services (OpenAI, Claude, Gemini, etc.)
- Build complex conversation flows with behavior rules
- Call external APIs from your agent logic
Linux / macOS / WSL2:
curl -fsSL https://raw.githubusercontent.com/labsai/EDDI/main/install.sh | bashWindows (PowerShell):
iwr -useb https://raw.githubusercontent.com/labsai/EDDI/main/install.ps1 | iexNote: If your Antivirus blocks this command as "malicious content", securely download and run it instead:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/labsai/EDDI/main/install.ps1" -OutFile "install.ps1" Unblock-File .\install.ps1 .\install.ps1
The wizard guides you through choosing a database (MongoDB or PostgreSQL), optional authentication (Keycloak), and monitoring (Grafana). After setup, Agent Father is deployed automatically to help you create your first AI agent.
There are two ways to use Docker with EDDI, either with docker-compose or launch the container manually.
Prerequisite: You need an up and running Docker environment. (For references, see: https://docs.docker.com/learn/)
-
Checkoutthedocker-composefile fromGithub:https://github.com/labsai/EDDI/blob/main/docker-compose.yml -
Run Docker Command:
docker-compose up
-
Create a shared network
docker network create eddi-network -
Start a
MongoDBinstance using theMongoDBDockerimage:docker run --name mongodb --network=eddi-network -d mongo -
Start EDDI :
docker run --name eddi --network=eddi-network -p 7070:7070 -d labsai/eddi
EDDI runs natively on any Kubernetes cluster (minikube, kind, GKE, EKS, AKS).
Quickstart (all-in-one):
kubectl apply -f https://raw.githubusercontent.com/labsai/EDDI/main/k8s/quickstart.yaml
bash k8s/create-secrets.sh # generate vault keyUsing Kustomize overlays:
kubectl apply -k k8s/overlays/mongodb/ # MongoDB backend
kubectl apply -k k8s/overlays/postgres/ # PostgreSQL backendUsing Helm:
helm install eddi ./helm/eddi --namespace eddi --create-namespaceSee the Kubernetes Deployment Guide for full details including auth, monitoring, NATS, Ingress, and production hardening.
- Java 25
- Maven 3.9+
- MongoDB ≥ 6.0 (or PostgreSQL)
Setup a local MongoDB (≥ 6.0) or PostgreSQL instance.
Note: If no database instance is available, Quarkus Dev Services will try to start a container automatically (requires Docker running on the host).
On a terminal, under project root folder, run the following command:
./mvnw compile quarkus:dev- Go to Browser --> http://localhost:7070
./mvnw clean package '-Dquarkus.container-image.build=true'docker pull labsai/eddihttps://hub.docker.com/r/labsai/eddi
For production, launch standalone mongodb and then start an eddi instance as defined in the docker-compose file
docker-compose upFor development, use
docker-compose -f docker-compose.yml -f docker-compose.local.yml upFor integration testing run
./mvnw verify -DskipITs=falseThis uses Testcontainers to automatically start EDDI + MongoDB/PostgreSQL in Docker containers for E2E testing. Requires Docker to be running.