Getting Started
Welcome to EDDI!
This article will help you to get started with EDDI.
What You're Installing
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
A database: MongoDB (default) or PostgreSQL, storing agent configurations, workflows, and conversation history
The Manager dashboard: A web UI bundled into the same service — no separate deployment.
http://localhost:7070/redirects to the/welcomechooser, the admin dashboard is at/manage, and/workforceis the group-conversation workspace
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
Verifying It Works
Whichever option you pick below, these three checks tell you the install succeeded. They are the same ones CI runs against every published image, so if they pass, the service is genuinely up — not merely listening.
Step 3 assumes authentication is off, which is the default (quarkus.oidc.tenant-enabled=false). If you chose Keycloak in the install wizard, that call returns 401 until you send a bearer token — a 401 there still means the service is healthy. Steps 1 and 2 are always unauthenticated.
If step 1 returns DOWN or refuses the connection, the service is running but the database is not — check docker compose logs eddi. A fresh install has no agents deployed; see Creating your first Agent or activate the Platform Operator at /manage/operator.
Installation Options
Option 0 - One-Command Install (Recommended)
Linux / macOS / WSL2:
Windows (PowerShell):
The wizard guides you through choosing a database (MongoDB or PostgreSQL), optional authentication (Keycloak), and monitoring (Grafana). EDDI starts with no agents deployed — to create your first one, activate the Platform Operator at /manage/operator and describe the agent you want, or fill in the form-based wizard at /manage/agents/wizard.
Option 1 - EDDI with Docker (Manual)
There are two ways to run EDDI under Docker: with Docker Compose, or by launching the containers manually.
Prerequisite: a working Docker installation — see the Docker documentation. Compose v2 ships as the
docker composesubcommand; the standalonedocker-composebinary is end-of-life and is not used here.
Use Docker Compose (recommended)
Download
docker-compose.ymlfrom GitHub, into an empty directoryStart it:
Launch the containers manually
Create a shared network
Start a
MongoDBinstance using theMongoDBDockerimage:Start EDDI :
Option 2 - Deploy on Kubernetes
EDDI runs natively on any Kubernetes cluster (minikube, kind, GKE, EKS, AKS).
Quickstart (all-in-one):
The manifest deploys EDDI with an empty vault master key, so it starts but cannot encrypt secrets. Generate the key next. create-secrets.sh lives in the repository, so this step needs a checkout:
Without a checkout, do the same thing by hand — EDDI reads secrets from a mounted file, not environment variables, because env is readable through /proc/<pid>/environ and leaks into crash dumps:
Using Kustomize overlays:
Both need their Secrets first — the vault key (bash k8s/create-secrets.sh) and the database credentials, which are not shipped; the Kubernetes Deployment Guide has the commands.
Using Helm:
That is the local, port-forward-only shape (no OIDC); the chart refuses to render without each of those values. Enable OIDC for anything others can reach.
See the Kubernetes Deployment Guide for full details including auth, monitoring, NATS, Ingress, and production hardening.
Option 3 - Run from Source
Prerequisites:
Java 25
MongoDB ≥ 6.0 (or PostgreSQL)
Docker, if you want Dev Services to start the database for you
No local Maven install is needed — the repository ships the Maven wrapper (./mvnw, or .\mvnw.cmd on Windows), which downloads the pinned version on first use.
How to run the project
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:
Go to Browser --> http://localhost:7070
Build App & Docker image
Download from Docker hub registry
https://hub.docker.com/r/labsai/eddi
Run Docker image
For production, launch a standalone MongoDB and then start an EDDI instance as defined in docker-compose.yml
For development, use
For integration testing run
This uses Testcontainers to automatically start EDDI + MongoDB/PostgreSQL in Docker containers for E2E testing. Requires Docker to be running.
Last updated
Was this helpful?