fix: make all scripts resolve paths relative to repo root

CloneVendorRepos.sh and CleanVendor.sh resolved vendor/ relative to scripts/
instead of the repo root, so vendor repos were cloned to the wrong location
(scripts/vendor) and docker-compose builds (which expect ./vendor at repo
root) would fail. BuildAll.sh and StatusCheck.sh had the same issue, cd-ing
to scripts/ instead of the repo root before running docker compose.

Also updated validate-all.sh with the 10 newer MCP servers that were added
after the script was last maintained (firefly-iii, actual, paperless, beszel,
gitea, grafana, ha, limesurvey, linkwarden, superset) plus added missing
env vars for audiobook-mcp and drawio-mcp.
This commit is contained in:
2026-07-30 12:12:43 -05:00
parent 237f345582
commit b3a810ba07
5 changed files with 26 additions and 10 deletions
+2 -2
View File
@@ -17,8 +17,8 @@ echo ""
echo "Building all services..." echo "Building all services..."
echo "" echo ""
# Change to project directory # Change to project root (parent of scripts/)
cd "$(dirname "${BASH_SOURCE[0]}")" cd "$(dirname "${BASH_SOURCE[0]}")/.."
# Get list of all services from docker-compose.yml # Get list of all services from docker-compose.yml
SERVICES=$(docker compose config --services) SERVICES=$(docker compose config --services)
+3 -2
View File
@@ -22,8 +22,9 @@ if [ "$CONFIRM" != "yes" ]; then
exit 0 exit 0
fi fi
# Vendor directory # Vendor directory (repo root is parent of scripts/)
VENDOR_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/vendor" REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
VENDOR_DIR="$REPO_ROOT/vendor"
echo "" echo ""
echo "Removing vendor directories..." echo "Removing vendor directories..."
+3 -2
View File
@@ -11,8 +11,9 @@ GREEN='\033[0;32m'
YELLOW='\033[1;33m' YELLOW='\033[1;33m'
NC='\033[0m' # No Color NC='\033[0m' # No Color
# Vendor directory # Vendor directory (repo root is parent of scripts/)
VENDOR_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/vendor" REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
VENDOR_DIR="$REPO_ROOT/vendor"
echo -e "${GREEN}=== KNEL-AIMiddleware Vendor Repository Clone Script ===${NC}" echo -e "${GREEN}=== KNEL-AIMiddleware Vendor Repository Clone Script ===${NC}"
echo "" echo ""
+2 -2
View File
@@ -15,8 +15,8 @@ NC='\033[0m' # No Color
echo -e "${BLUE}=== KNEL-AIMiddleware Service Status Check ===${NC}" echo -e "${BLUE}=== KNEL-AIMiddleware Service Status Check ===${NC}"
echo "" echo ""
# Change to project directory # Change to project root (parent of scripts/)
cd "$(dirname "${BASH_SOURCE[0]}")" cd "$(dirname "${BASH_SOURCE[0]}")/.."
# Get list of all services from docker-compose.yml # Get list of all services from docker-compose.yml
SERVICES=$(docker compose config --services | sort) SERVICES=$(docker compose config --services | sort)
+16 -2
View File
@@ -72,12 +72,26 @@ MCP_SERVERS=(
["kneldevstack-aimiddleware-bitwarden-mcp"]="15 BITWARDEN_CLIENT_ID=dummy BITWARDEN_CLIENT_SECRET=dummy BITWARDEN_PASSWORD=dummy BITWARDEN_SERVER_URL=https://vault.bitwarden.com" ["kneldevstack-aimiddleware-bitwarden-mcp"]="15 BITWARDEN_CLIENT_ID=dummy BITWARDEN_CLIENT_SECRET=dummy BITWARDEN_PASSWORD=dummy BITWARDEN_SERVER_URL=https://vault.bitwarden.com"
# Productivity & Automation # Productivity & Automation
["kneldevstack-aimiddleware-audiobook-mcp"]="10" ["kneldevstack-aimiddleware-audiobook-mcp"]="10 AUDIOBOOK_ROOT=/tmp"
["kneldevstack-aimiddleware-snipeit-mcp"]="10 SNIPEIT_URL=https://snipeit.example.com SNIPEIT_TOKEN=dummy" ["kneldevstack-aimiddleware-snipeit-mcp"]="10 SNIPEIT_URL=https://snipeit.example.com SNIPEIT_TOKEN=dummy"
["kneldevstack-aimiddleware-mcp-redmine"]="10 REDMINE_URL=https://redmine.example.com REDMINE_API_KEY=dummy" ["kneldevstack-aimiddleware-mcp-redmine"]="10 REDMINE_URL=https://redmine.example.com REDMINE_API_KEY=dummy"
["kneldevstack-aimiddleware-mcp-ansible"]="10" ["kneldevstack-aimiddleware-mcp-ansible"]="10"
["kneldevstack-aimiddleware-elasticsearch-mcp"]="10 ELASTICSEARCH_URL=http://localhost:9200 ELASTICSEARCH_USERNAME=dummy ELASTICSEARCH_PASSWORD=dummy" ["kneldevstack-aimiddleware-elasticsearch-mcp"]="10 ELASTICSEARCH_URL=http://localhost:9200 ELASTICSEARCH_USERNAME=dummy ELASTICSEARCH_PASSWORD=dummy"
["kneldevstack-aimiddleware-drawio-mcp"]="10" ["kneldevstack-aimiddleware-drawio-mcp"]="10 DRAWIO_URL=https://drawio.example.com"
# Financial & Budgeting
["kneldevstack-aimiddleware-firefly-iii-mcp"]="10 FIREFLY_III_BASE_URL=https://firefly.example.com FIREFLY_III_PAT=dummy"
["kneldevstack-aimiddleware-actual-mcp"]="10 ACTUAL_SERVER_URL=https://actual.example.com ACTUAL_PASSWORD=dummy ACTUAL_BUDGET_SYNC_ID=dummy"
["kneldevstack-aimiddleware-paperless-mcp"]="10"
# Additional Productivity
["kneldevstack-aimiddleware-beszel-mcp"]="10 BESZEL_URL=https://beszel.example.com BESZEL_USERNAME=dummy BESZEL_PASSWORD=dummy"
["kneldevstack-aimiddleware-gitea-mcp"]="10 GITEA_URL=https://gitea.example.com GITEA_TOKEN=dummy"
["kneldevstack-aimiddleware-mcp-grafana"]="10 GRAFANA_URL=https://grafana.example.com GRAFANA_TOKEN=dummy"
["kneldevstack-aimiddleware-ha-mcp"]="10 HOMEASSISTANT_URL=https://ha.example.com HOMEASSISTANT_TOKEN=dummy"
["kneldevstack-aimiddleware-limesurvey-mcp"]="10 LIMESURVEY_URL=https://limesurvey.example.com LIMESURVEY_USERNAME=dummy LIMESURVEY_PASSWORD=dummy"
["kneldevstack-aimiddleware-linkwarden-mcp"]="10 LINKWARDEN_URL=https://linkwarden.example.com LINKWARDEN_TOKEN=dummy"
["kneldevstack-aimiddleware-superset-mcp"]="10 SUPERSET_URL=https://superset.example.com SUPERSET_USERNAME=dummy SUPERSET_PASSWORD=dummy"
# Additional Tools # Additional Tools
["kneldevstack-aimiddleware-penpot-mcp"]="10 PENPOT_URL=https://design.penpot.app PENPOT_TOKEN=dummy" ["kneldevstack-aimiddleware-penpot-mcp"]="10 PENPOT_URL=https://design.penpot.app PENPOT_TOKEN=dummy"