mirror of
https://github.com/kossakovsky/n8n-install.git
synced 2026-03-07 14:23:08 +00:00
feat: add appsmith low-code platform for internal tools
adds appsmith as an optional service with caddy reverse proxy, auto-generated encryption secrets, wizard selection, welcome page integration, update preview support, and final report output. bumps version to 1.3.0.
This commit is contained in:
12
.env.example
12
.env.example
@@ -99,6 +99,15 @@ NEO4J_AUTH_PASSWORD=
|
||||
NOCODB_JWT_SECRET=
|
||||
|
||||
|
||||
############
|
||||
# [required]
|
||||
# Appsmith encryption credentials (auto-generated)
|
||||
############
|
||||
|
||||
APPSMITH_ENCRYPTION_PASSWORD=
|
||||
APPSMITH_ENCRYPTION_SALT=
|
||||
|
||||
|
||||
############
|
||||
# [required]
|
||||
# Langfuse credentials
|
||||
@@ -148,6 +157,7 @@ LT_PASSWORD_HASH=
|
||||
|
||||
USER_DOMAIN_NAME=
|
||||
LETSENCRYPT_EMAIL=
|
||||
APPSMITH_HOSTNAME=appsmith.yourdomain.com
|
||||
COMFYUI_HOSTNAME=comfyui.yourdomain.com
|
||||
DATABASUS_HOSTNAME=databasus.yourdomain.com
|
||||
DIFY_HOSTNAME=dify.yourdomain.com
|
||||
@@ -436,7 +446,7 @@ GOST_UPSTREAM_PROXY=
|
||||
|
||||
# Internal services bypass list (prevents internal Docker traffic from going through proxy)
|
||||
# Includes: Docker internal networks (172.16-31.*, 10.*), Docker DNS (127.0.0.11), and all service hostnames
|
||||
GOST_NO_PROXY=localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.local,postgres,postgres:5432,redis,redis:6379,caddy,ollama,neo4j,qdrant,weaviate,clickhouse,minio,searxng,crawl4ai,gotenberg,langfuse-web,langfuse-worker,flowise,n8n,n8n-import,n8n-worker-1,n8n-worker-2,n8n-worker-3,n8n-worker-4,n8n-worker-5,n8n-worker-6,n8n-worker-7,n8n-worker-8,n8n-worker-9,n8n-worker-10,n8n-runner-1,n8n-runner-2,n8n-runner-3,n8n-runner-4,n8n-runner-5,n8n-runner-6,n8n-runner-7,n8n-runner-8,n8n-runner-9,n8n-runner-10,letta,lightrag,docling,postiz,temporal,temporal-ui,ragflow,ragflow-mysql,ragflow-minio,ragflow-redis,ragflow-elasticsearch,ragapp,open-webui,comfyui,waha,libretranslate,paddleocr,nocodb,db,studio,kong,auth,rest,realtime,storage,imgproxy,meta,functions,analytics,vector,supavisor,gost,api.telegram.org,telegram.org,t.me,core.telegram.org
|
||||
GOST_NO_PROXY=localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.local,appsmith,postgres,postgres:5432,redis,redis:6379,caddy,ollama,neo4j,qdrant,weaviate,clickhouse,minio,searxng,crawl4ai,gotenberg,langfuse-web,langfuse-worker,flowise,n8n,n8n-import,n8n-worker-1,n8n-worker-2,n8n-worker-3,n8n-worker-4,n8n-worker-5,n8n-worker-6,n8n-worker-7,n8n-worker-8,n8n-worker-9,n8n-worker-10,n8n-runner-1,n8n-runner-2,n8n-runner-3,n8n-runner-4,n8n-runner-5,n8n-runner-6,n8n-runner-7,n8n-runner-8,n8n-runner-9,n8n-runner-10,letta,lightrag,docling,postiz,temporal,temporal-ui,ragflow,ragflow-mysql,ragflow-minio,ragflow-redis,ragflow-elasticsearch,ragapp,open-webui,comfyui,waha,libretranslate,paddleocr,nocodb,db,studio,kong,auth,rest,realtime,storage,imgproxy,meta,functions,analytics,vector,supavisor,gost,api.telegram.org,telegram.org,t.me,core.telegram.org
|
||||
|
||||
############
|
||||
# Functions - Configuration for Functions
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.3.0] - 2026-02-27
|
||||
|
||||
### Added
|
||||
- **Appsmith** - Low-code platform for building internal tools, dashboards, and admin panels
|
||||
|
||||
## [1.2.8] - 2026-02-27
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
# Custom: Run 'make setup-tls' to use your own certificates
|
||||
import /etc/caddy/addons/tls-snippet.conf
|
||||
|
||||
# Appsmith
|
||||
{$APPSMITH_HOSTNAME} {
|
||||
import service_tls
|
||||
reverse_proxy appsmith:80
|
||||
}
|
||||
|
||||
# N8N
|
||||
{$N8N_HOSTNAME} {
|
||||
import service_tls
|
||||
|
||||
@@ -56,6 +56,8 @@ This setup provides a comprehensive suite of cutting-edge services, all pre-conf
|
||||
|
||||
The installer also makes the following powerful open-source tools **available for you to select and deploy** via an interactive wizard during setup:
|
||||
|
||||
✅ [**Appsmith**](https://www.appsmith.com/) - An open-source low-code platform for building internal tools, dashboards, and admin panels with a drag-and-drop UI builder.
|
||||
|
||||
✅ [**n8n**](https://n8n.io/) - A low-code platform with over 400 integrations and advanced AI components to automate workflows.
|
||||
|
||||
✅ [**ComfyUI**](https://github.com/comfyanonymous/ComfyUI) - A powerful, node-based UI for Stable Diffusion workflows. Build and run image-generation pipelines visually, with support for custom nodes and extensions.
|
||||
@@ -179,6 +181,7 @@ After successful installation, your services are up and running! Here's how to g
|
||||
The installation script provided a summary report with all access URLs and credentials. Please refer to that report. The main services will be available at the following addresses (replace `yourdomain.com` with your actual domain):
|
||||
|
||||
- **n8n:** `n8n.yourdomain.com` (Log in with the email address you provided during installation and the initial password from the summary report. You may be prompted to change this password on first login.)
|
||||
- **Appsmith:** `appsmith.yourdomain.com` (Low-code app builder)
|
||||
- **ComfyUI:** `comfyui.yourdomain.com` (Node-based Stable Diffusion UI)
|
||||
- **Databasus:** `databasus.yourdomain.com`
|
||||
- **Dify:** `dify.yourdomain.com` (AI application development platform with comprehensive LLMOps capabilities)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
volumes:
|
||||
appsmith_data:
|
||||
caddy-config:
|
||||
caddy-data:
|
||||
comfyui_data:
|
||||
@@ -144,6 +145,26 @@ x-n8n-worker-runner: &service-n8n-worker-runner
|
||||
N8N_RUNNERS_TASK_BROKER_URI: http://127.0.0.1:5679
|
||||
|
||||
services:
|
||||
appsmith:
|
||||
image: appsmith/appsmith-ce:release
|
||||
container_name: appsmith
|
||||
profiles: ["appsmith"]
|
||||
restart: unless-stopped
|
||||
logging: *default-logging
|
||||
environment:
|
||||
<<: *proxy-env
|
||||
APPSMITH_ENCRYPTION_PASSWORD: ${APPSMITH_ENCRYPTION_PASSWORD}
|
||||
APPSMITH_ENCRYPTION_SALT: ${APPSMITH_ENCRYPTION_SALT}
|
||||
APPSMITH_DISABLE_TELEMETRY: "true"
|
||||
volumes:
|
||||
- appsmith_data:/appsmith-stacks
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "http_proxy= https_proxy= HTTP_PROXY= HTTPS_PROXY= wget -qO- http://localhost/api/v1/health || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 120s
|
||||
|
||||
flowise:
|
||||
image: flowiseai/flowise
|
||||
restart: unless-stopped
|
||||
@@ -318,6 +339,7 @@ services:
|
||||
- caddy-data:/data:rw
|
||||
- caddy-config:/config:rw
|
||||
environment:
|
||||
APPSMITH_HOSTNAME: ${APPSMITH_HOSTNAME}
|
||||
COMFYUI_HOSTNAME: ${COMFYUI_HOSTNAME}
|
||||
COMFYUI_PASSWORD_HASH: ${COMFYUI_PASSWORD_HASH}
|
||||
COMFYUI_USERNAME: ${COMFYUI_USERNAME}
|
||||
|
||||
@@ -74,6 +74,8 @@ USER_INPUT_VARS=(
|
||||
# Variables to generate: varName="type:length"
|
||||
# Types: password (alphanum), secret (base64), hex, base64, alphanum
|
||||
declare -A VARS_TO_GENERATE=(
|
||||
["APPSMITH_ENCRYPTION_PASSWORD"]="password:32"
|
||||
["APPSMITH_ENCRYPTION_SALT"]="password:32"
|
||||
["CLICKHOUSE_PASSWORD"]="password:32"
|
||||
["COMFYUI_PASSWORD"]="password:32" # Added ComfyUI basic auth password
|
||||
["DASHBOARD_PASSWORD"]="password:32" # Supabase Dashboard
|
||||
|
||||
@@ -38,6 +38,7 @@ current_profiles_for_matching=",$CURRENT_PROFILES_VALUE,"
|
||||
# --- Define available services and their descriptions ---
|
||||
# Base service definitions (tag, description)
|
||||
base_services_data=(
|
||||
"appsmith" "Appsmith (Low-code Platform for Internal Tools & Dashboards)"
|
||||
"cloudflare-tunnel" "Cloudflare Tunnel (Zero-Trust Secure Access)"
|
||||
"comfyui" "ComfyUI (Node-based Stable Diffusion UI)"
|
||||
"crawl4ai" "Crawl4ai (Web Crawler for AI)"
|
||||
|
||||
@@ -79,6 +79,9 @@ echo ""
|
||||
echo -e " ${WHITE}2.${NC} Store the Welcome Page credentials securely"
|
||||
echo ""
|
||||
echo -e " ${WHITE}3.${NC} Configure services as needed:"
|
||||
if is_profile_active "appsmith"; then
|
||||
echo -e " ${GREEN}*${NC} ${WHITE}Appsmith${NC}: Create admin account on first login (may take a few minutes to start)"
|
||||
fi
|
||||
if is_profile_active "n8n"; then
|
||||
echo -e " ${GREEN}*${NC} ${WHITE}n8n${NC}: Complete first-run setup with your email"
|
||||
fi
|
||||
|
||||
@@ -27,6 +27,19 @@ GENERATED_AT=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
# Build services array - each entry is a formatted JSON block
|
||||
declare -a SERVICES_ARRAY
|
||||
|
||||
# Appsmith
|
||||
if is_profile_active "appsmith"; then
|
||||
SERVICES_ARRAY+=(" \"appsmith\": {
|
||||
\"hostname\": \"$(json_escape "$APPSMITH_HOSTNAME")\",
|
||||
\"credentials\": {
|
||||
\"note\": \"Create your account on first login\"
|
||||
},
|
||||
\"extra\": {
|
||||
\"docs\": \"https://docs.appsmith.com\"
|
||||
}
|
||||
}")
|
||||
fi
|
||||
|
||||
# n8n
|
||||
if is_profile_active "n8n"; then
|
||||
N8N_WORKER_COUNT_VAL="${N8N_WORKER_COUNT:-1}"
|
||||
@@ -519,6 +532,16 @@ if is_profile_active "databasus"; then
|
||||
((STEP_NUM++))
|
||||
fi
|
||||
|
||||
# Set up Appsmith (if appsmith active)
|
||||
if is_profile_active "appsmith"; then
|
||||
QUICK_START_ARRAY+=(" {
|
||||
\"step\": $STEP_NUM,
|
||||
\"title\": \"Set up Appsmith\",
|
||||
\"description\": \"Create your admin account and build your first app\"
|
||||
}")
|
||||
((STEP_NUM++))
|
||||
fi
|
||||
|
||||
# Step 4: Monitor system (if monitoring active)
|
||||
if is_profile_active "monitoring"; then
|
||||
QUICK_START_ARRAY+=(" {
|
||||
|
||||
@@ -134,6 +134,11 @@ if is_profile_active "databasus"; then
|
||||
check_image_update "databasus" "databasus/databasus:latest"
|
||||
fi
|
||||
|
||||
if is_profile_active "appsmith"; then
|
||||
log_subheader "Appsmith"
|
||||
check_image_update "appsmith" "appsmith/appsmith-ce:release"
|
||||
fi
|
||||
|
||||
# Summary
|
||||
log_divider
|
||||
echo ""
|
||||
|
||||
@@ -148,6 +148,14 @@
|
||||
// DATA - Service metadata and commands
|
||||
// ============================================
|
||||
const SERVICE_METADATA = {
|
||||
'appsmith': {
|
||||
name: 'Appsmith',
|
||||
description: 'Low-code Internal Tools',
|
||||
icon: 'AS',
|
||||
color: 'bg-[#5f2dde]',
|
||||
category: 'tools',
|
||||
docsUrl: 'https://docs.appsmith.com'
|
||||
},
|
||||
'n8n': {
|
||||
name: 'n8n',
|
||||
description: 'Workflow Automation',
|
||||
|
||||
Reference in New Issue
Block a user