Add Letta service configuration and update documentation

- Added Letta service to docker-compose.yml with necessary environment variables and volume configuration.
- Updated Caddyfile to include reverse proxy for Letta.
- Included Letta in the README.md for service availability and provided a brief description.
- Enhanced scripts to generate Letta server password and report its status in the final report.
- Updated .env.example to include Letta hostname and server password variable.
This commit is contained in:
Yury Kossakovsky
2025-05-15 19:11:33 -06:00
parent d8f738303b
commit c3076a9990
7 changed files with 45 additions and 6 deletions

View File

@@ -106,6 +106,7 @@ LANGFUSE_HOSTNAME=langfuse.yourdomain.com
GRAFANA_HOSTNAME=grafana.yourdomain.com
SEARXNG_HOSTNAME=searxng.yourdomain.com
PROMETHEUS_HOSTNAME=prometheus.yourdomain.com
LETTA_HOSTNAME=letta.yourdomain.com
LETSENCRYPT_EMAIL=
@@ -238,3 +239,6 @@ DOCKER_SOCKET_LOCATION=/var/run/docker.sock
# Google Cloud Project details
GOOGLE_PROJECT_ID=GOOGLE_PROJECT_ID
GOOGLE_PROJECT_NUMBER=GOOGLE_PROJECT_NUMBER
# Letta
LETTA_SERVER_PASSWORD=

View File

@@ -35,6 +35,11 @@
reverse_proxy grafana:3000
}
# Letta
{$LETTA_HOSTNAME} {
reverse_proxy letta:8283
}
# Prometheus
{$PROMETHEUS_HOSTNAME} {
basic_auth {

View File

@@ -40,6 +40,8 @@ The installer also makes the following powerful open-source tools **available fo
✅ [**Crawl4ai**](https://github.com/Alfresco/crawl4ai) - A flexible web crawler designed for AI, enabling you to extract data from websites for your projects.
✅ [**Letta**](https://docs.letta.com/) - An open-source agent server and SDK that can be connected to various LLM API backends (OpenAI, Anthropic, Ollama, etc.), enabling you to build and manage AI agents.
✅ [**Prometheus**](https://prometheus.io/) - An open-source monitoring and alerting toolkit to keep an eye on system health.
✅ [**Grafana**](https://grafana.com/) - An open-source platform for visualizing monitoring data, helping you understand system performance at a glance.
@@ -109,6 +111,7 @@ The services will be available at the following addresses (replace `yourdomain.c
- **Flowise:** `flowise.yourdomain.com`
- **Supabase (Dashboard):** `supabase.yourdomain.com`
- **Langfuse:** `langfuse.yourdomain.com`
- **Letta:** `letta.yourdomain.com`
- **Grafana:** `grafana.yourdomain.com`
- **SearXNG:** `searxng.yourdomain.com`
- **Prometheus:** `prometheus.yourdomain.com`

View File

@@ -12,6 +12,7 @@ volumes:
langfuse_minio_data:
grafana:
prometheus_data:
letta_data:
x-n8n: &service-n8n
image: n8nio/n8n:latest
@@ -402,3 +403,19 @@ services:
limits:
cpus: "1.0"
memory: 4G # Increased based on documentation recommendation
letta:
image: letta/letta:latest
container_name: letta
profiles: ["letta"]
restart: unless-stopped
volumes:
- letta_data:/var/lib/postgresql/data
environment:
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-}
SECURE: ${LETTA_SECURE:-true}
LETTA_SERVER_PASSWORD: ${LETTA_SERVER_PASSWORD:-}
extra_hosts:
- "host.docker.internal:host-gateway"

View File

@@ -41,6 +41,7 @@ declare -A VARS_TO_GENERATE=(
["LOGFLARE_API_KEY"]="secret:64" # base64 encoded, 48 bytes -> 64 chars
["PROMETHEUS_PASSWORD"]="password:32" # Added Prometheus password
["SEARXNG_PASSWORD"]="password:32" # Added SearXNG admin password
["LETTA_SERVER_PASSWORD"]="password:32" # Added Letta server password
["LANGFUSE_INIT_USER_PASSWORD"]="password:32"
["LANGFUSE_INIT_PROJECT_PUBLIC_KEY"]="langfuse_pk:32"
["LANGFUSE_INIT_PROJECT_SECRET_KEY"]="langfuse_sk:32"

View File

@@ -40,13 +40,14 @@ export DEBIAN_FRONTEND=dialog
services=(
"n8n" "n8n, n8n-worker, n8n-import (Workflow Automation)" "ON"
"flowise" "Flowise (AI Agent Builder)" "ON"
"supabase" "Supabase (Backend as a Service)" "ON"
"qdrant" "Qdrant (Vector Database)" "ON"
"monitoring" "Monitoring Suite (Prometheus, Grafana, cAdvisor, Node-Exporter)" "ON"
"langfuse" "Langfuse Suite (AI Observability - includes Clickhouse, Minio)" "ON"
"open-webui" "Open WebUI (ChatGPT-like Interface)" "ON"
"searxng" "SearXNG (Private Metasearch Engine)" "ON"
"crawl4ai" "Crawl4ai (Web Crawler for AI)" "ON"
"qdrant" "Qdrant (Vector Database)" "OFF"
"supabase" "Supabase (Backend as a Service)" "OFF"
"langfuse" "Langfuse Suite (AI Observability - includes Clickhouse, Minio)" "OFF"
"open-webui" "Open WebUI (ChatGPT-like Interface)" "OFF"
"searxng" "SearXNG (Private Metasearch Engine)" "OFF"
"crawl4ai" "Crawl4ai (Web Crawler for AI)" "OFF"
"letta" "Letta (Agent Server & SDK)" "OFF"
)
# Use whiptail to display the checklist

View File

@@ -159,6 +159,14 @@ if is_profile_active "n8n" || is_profile_active "langfuse"; then
echo "(Note: Primarily for internal service communication, not exposed externally by default)"
fi
if is_profile_active "letta"; then
echo
echo "================================= Letta ================================"
echo
echo "Host: ${LETTA_HOSTNAME:-<hostname_not_set>}"
echo "Authorization: Bearer ${LETTA_SERVER_PASSWORD}"
fi
echo
echo "======================================================================="
echo