Skip to content

Latest commit

 

History

History
168 lines (108 loc) · 4.55 KB

File metadata and controls

168 lines (108 loc) · 4.55 KB

Getting started

Version: 6.0.0

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:

  1. The EDDI Service: A Java/Quarkus application that exposes REST APIs for agent management and conversations
  2. MongoDB: A database that stores agent configurations, packages, and conversation history
  3. 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

Installation Options

Option 0 - One-Command Install (Recommended)

Linux / macOS / WSL2:

curl -fsSL https://raw.githubusercontent.com/labsai/EDDI/main/install.sh | bash

Windows (PowerShell):

iwr -useb https://raw.githubusercontent.com/labsai/EDDI/main/install.ps1 | iex

Note: 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.

Option 1 - EDDI with Docker (Manual)

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/)

Use docker-compose (recommended)

  1. Checkout the docker-compose file from Github:https://github.com/labsai/EDDI/blob/main/docker-compose.yml

  2. Run Docker Command:

     docker-compose up
    

Use launch docker containers manually

  1. Create a shared network

    docker network create eddi-network
    
  2. Start a MongoDB instance using the MongoDB Docker image:

    docker run --name mongodb --network=eddi-network -d mongo
    
  3. Start EDDI :

    docker run --name eddi --network=eddi-network -p 7070:7070 -d labsai/eddi
    

Option 2 - Deploy on Kubernetes

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 key

Using Kustomize overlays:

kubectl apply -k k8s/overlays/mongodb/    # MongoDB backend
kubectl apply -k k8s/overlays/postgres/   # PostgreSQL backend

Using Helm:

helm install eddi ./helm/eddi --namespace eddi --create-namespace

See the Kubernetes Deployment Guide for full details including auth, monitoring, NATS, Ingress, and production hardening.

Option 3 - Run from Source

Prerequisites:

  • Java 25
  • Maven 3.9+
  • MongoDB ≥ 6.0 (or PostgreSQL)

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:

./mvnw compile quarkus:dev
  1. Go to Browser --> http://localhost:7070

Build App & Docker image

./mvnw clean package '-Dquarkus.container-image.build=true'

Download from Docker hub registry

docker pull labsai/eddi

https://hub.docker.com/r/labsai/eddi

Run Docker image

For production, launch standalone mongodb and then start an eddi instance as defined in the docker-compose file

docker-compose up

For development, use

docker-compose -f docker-compose.yml -f docker-compose.local.yml up

For integration testing run

./mvnw verify -DskipITs=false

This uses Testcontainers to automatically start EDDI + MongoDB/PostgreSQL in Docker containers for E2E testing. Requires Docker to be running.