feat: add nocodb as optional service

add nocodb (open source airtable alternative) with:
- docker service definition with postgresql backend
- caddy reverse proxy configuration
- jwt secret auto-generation
- wizard integration for service selection
- welcome page dashboard entry
- readme and changelog updates
This commit is contained in:
Yury Kossakovsky
2025-12-25 11:27:00 -07:00
parent 2f6516880b
commit 108daca1fe
9 changed files with 73 additions and 3 deletions

View File

@@ -97,6 +97,7 @@ declare -A VARS_TO_GENERATE=(
["NEO4J_AUTH_PASSWORD"]="password:32" # Added Neo4j password
["NEO4J_AUTH_USERNAME"]="fixed:neo4j" # Added Neo4j username
["NEXTAUTH_SECRET"]="secret:64" # base64 encoded, 48 bytes -> 64 chars
["NOCODB_JWT_SECRET"]="secret:64" # NocoDB authentication JWT secret
["PADDLEOCR_PASSWORD"]="password:32" # Added PaddleOCR basic auth password
["PG_META_CRYPTO_KEY"]="alphanum:32"
["POSTGRES_NON_ROOT_PASSWORD"]="password:32"

View File

@@ -53,6 +53,7 @@ base_services_data=(
"monitoring" "Monitoring Suite (Prometheus, Grafana, cAdvisor, Node-Exporter)"
"n8n" "n8n, n8n-worker, n8n-import (Workflow Automation)"
"neo4j" "Neo4j (Graph Database)"
"nocodb" "NocoDB (Open Source Airtable Alternative - Spreadsheet Database)"
"ollama" "Ollama (Local LLM Runner - select hardware in next step)"
"open-webui" "Open WebUI (ChatGPT-like Interface)"
"paddleocr" "PaddleOCR (OCR API Server)"

View File

@@ -178,6 +178,20 @@ if is_profile_active "neo4j"; then
}")
fi
# NocoDB
if is_profile_active "nocodb"; then
SERVICES_ARRAY+=(" \"nocodb\": {
\"hostname\": \"$(json_escape "$NOCODB_HOSTNAME")\",
\"credentials\": {
\"note\": \"Create your account on first login\"
},
\"extra\": {
\"internal_api\": \"http://nocodb:8080\",
\"docs\": \"https://docs.nocodb.com\"
}
}")
fi
# SearXNG
if is_profile_active "searxng"; then
SERVICES_ARRAY+=(" \"searxng\": {