diff --git a/scripts/check-security.sh b/scripts/check-security.sh new file mode 100755 index 00000000..cc9cf4ec --- /dev/null +++ b/scripts/check-security.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Security scan: check dependencies and Docker images +cd "$(dirname "$0")/.." +echo "--- Running security scan ---" +echo "Checking npm dependencies..." +pnpm audit --audit-level=high + +echo "Checking outdated images (if any)..." +docker compose pull --dry-run diff --git a/scripts/dashboard.sh b/scripts/dashboard.sh new file mode 100755 index 00000000..7dd0c64f --- /dev/null +++ b/scripts/dashboard.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# Dashboard for quick script access +SCRIPT_DIR="$(dirname "$0")" + +echo "=== EpicNext-Cms Dashboard ===" +echo "Select a script to run:" +echo "1) Deploy (./deploy.sh)" +echo "2) Logs (./scripts/logs.sh)" +echo "3) Backup (./scripts/backup.sh)" +echo "4) Prune (./scripts/docker-prune.sh)" +echo "5) Verify (./scripts/verify-deploy.sh)" +echo "6) Check Env (./scripts/check-env.sh)" +echo "7) Optimize DB (./scripts/db-optimize.sh)" +echo "8) Security Scan (./scripts/check-security.sh)" +echo "9) Monitor (./scripts/monitor.sh)" +echo "q) Quit" + +read -p "Choice: " choice + +case $choice in + 1) ./deploy.sh ;; + 2) $SCRIPT_DIR/logs.sh ;; + 3) $SCRIPT_DIR/backup.sh ;; + 4) $SCRIPT_DIR/docker-prune.sh ;; + 5) $SCRIPT_DIR/verify-deploy.sh ;; + 6) $SCRIPT_DIR/check-env.sh ;; + 7) $SCRIPT_DIR/db-optimize.sh ;; + 8) $SCRIPT_DIR/check-security.sh ;; + 9) $SCRIPT_DIR/monitor.sh ;; + q) exit 0 ;; + *) echo "Invalid choice" ;; +esac diff --git a/scripts/monitor.sh b/scripts/monitor.sh new file mode 100755 index 00000000..3e43b6df --- /dev/null +++ b/scripts/monitor.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Monitor system health +cd "$(dirname "$0")/.." + +echo "=== System Monitoring ===" +echo "Disk Usage:" +df -h / | tail -n 1 +echo "" +echo "Docker Resources:" +docker stats --no-stream +echo "" +echo "Container Status:" +docker compose ps