Add Dify AI Platform integration to n8n-installer project

- Integrated Dify, an open-source AI application development platform, as an optional service in the n8n-installer project.
- Updated start_services.py to include functions for cloning the Dify repository, preparing the environment, and starting Dify services.
- Configured docker-compose.yml to reference Dify's external Docker Compose file and included necessary environment variables.
- Enhanced Caddyfile with reverse proxy settings for Dify, ensuring proper routing and access.
- Updated .env.example to include Dify-specific configuration variables.
- Revised README.md to document Dify's capabilities and access details.
- Enhanced service selection wizard to allow users to choose Dify during setup.
- Comprehensive testing and validation phase pending to ensure full functionality.
This commit is contained in:
Yury Kossakovsky
2025-08-06 18:01:05 -06:00
parent 58b5f3383f
commit ea253f4cc5
12 changed files with 880 additions and 256 deletions

View File

@@ -49,6 +49,8 @@ declare -A VARS_TO_GENERATE=(
["QDRANT_API_KEY"]="secret:48" # API Key for Qdrant service
["NEO4J_AUTH_PASSWORD"]="password:32" # Added Neo4j password
["NEO4J_AUTH_USERNAME"]="fixed:neo4j" # Added Neo4j username
# Dify environment variables
["DIFY_SECRET_KEY"]="secret:64" # Dify application secret key (maps to SECRET_KEY in Dify)
)
# Initialize existing_env_vars and attempt to read .env if it exists
@@ -366,6 +368,7 @@ generated_values["SEARXNG_USERNAME"]="$USER_EMAIL"
generated_values["LANGFUSE_INIT_USER_EMAIL"]="$USER_EMAIL"
generated_values["N8N_WORKER_COUNT"]="$N8N_WORKER_COUNT"
generated_values["WEAVIATE_USERNAME"]="$USER_EMAIL" # Set Weaviate username for Caddy
if [[ -n "$OPENAI_API_KEY" ]]; then
generated_values["OPENAI_API_KEY"]="$OPENAI_API_KEY"
fi

View File

@@ -51,6 +51,7 @@ current_profiles_for_matching=",$CURRENT_PROFILES_VALUE,"
# Base service definitions (tag, description)
base_services_data=(
"n8n" "n8n, n8n-worker, n8n-import (Workflow Automation)"
"dify" "Dify (AI Application Development Platform with LLMOps)"
"flowise" "Flowise (AI Agent Builder)"
"monitoring" "Monitoring Suite (Prometheus, Grafana, cAdvisor, Node-Exporter)"
"langfuse" "Langfuse Suite (AI Observability - includes Clickhouse, Minio)"

View File

@@ -69,6 +69,19 @@ if is_profile_active "flowise"; then
echo "Password: ${FLOWISE_PASSWORD:-<not_set_in_env>}"
fi
if is_profile_active "dify"; then
echo
echo "================================= Dify ================================="
echo
echo "Host: ${DIFY_HOSTNAME:-<hostname_not_set>}"
echo "Description: AI Application Development Platform with LLMOps"
echo
echo "API Access:"
echo " - Web Interface: https://${DIFY_HOSTNAME:-<hostname_not_set>}"
echo " - API Endpoint: https://${DIFY_HOSTNAME:-<hostname_not_set>}/v1"
echo " - Internal API: http://dify-api:5001"
fi
if is_profile_active "supabase"; then
echo
echo "================================= Supabase ============================"