diagnose-dev_old.sh
1 #!/bin/bash 2 set -e 3 4 echo "============================" 5 echo "🩺 FOLD STACK DIAGNOSTICS" 6 echo "============================" 7 8 echo "" 9 echo "📁 Current Directory:" 10 pwd 11 12 echo "" 13 echo "📦 Docker Compose File Check: docker-compose.dev.yml" 14 if grep -q "^services:" docker-compose.dev.yml; then 15 echo "✅ docker-compose.dev.yml looks valid." 16 else 17 echo "⚠️ Missing 'services:' in docker-compose.dev.yml — check formatting." 18 fi 19 20 echo "" 21 echo "📋 Containers Status:" 22 docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" 23 24 echo "" 25 echo "🪵 Forgejo Logs (last 50 lines):" 26 docker logs forgejo_dev --tail=50 || echo "⚠️ Forgejo container not found." 27 28 echo "" 29 echo "🪵 Ghost Logs (last 20 lines):" 30 docker logs ghost_dev --tail=20 || echo "⚠️ Ghost container not found." 31 32 echo "" 33 echo "🪵 Trilium Logs (last 20 lines):" 34 docker logs trilium_dev --tail=20 || echo "⚠️ Trilium container not found." 35 36 echo "" 37 echo "🪵 HedgeDoc Logs (last 20 lines):" 38 docker logs hedgedoc_dev --tail=20 || echo "⚠️ HedgeDoc container not found." 39 40 echo "" 41 echo "🪵 MailHog Logs (last 20 lines):" 42 docker logs mailhog_dev --tail=20 || echo "⚠️ MailHog container not found." 43 44 echo "" 45 echo "🪵 Nextcloud Logs (last 20 lines):" 46 docker logs nextcloud_dev --tail=20 || echo "⚠️ Nextcloud container not found." 47 48 echo "" 49 echo "🪵 Rclone Logs (last 20 lines):" 50 docker logs rclone_dev --tail=20 || echo "⚠️ Rclone container not found." 51 52 echo "" 53 echo "🌐 Port Bindings:" 54 docker compose -f docker-compose.dev.yml port ghost 2368 || echo "❌ Ghost not exposing port 2368" 55 docker compose -f docker-compose.dev.yml port forgejo 3000 || echo "❌ Forgejo not exposing port 3000" 56 docker compose -f docker-compose.dev.yml port trilium 8080 || echo "❌ Trilium not exposing port 8080" 57 docker compose -f docker-compose.dev.yml port hedgedoc 3000 || echo "❌ HedgeDoc not exposing port 3000" 58 docker compose -f docker-compose.dev.yml port mailhog 8025 || echo "❌ MailHog not exposing port 8025" 59 docker compose -f docker-compose.dev.yml port nextcloud 80 || echo "❌ Nextcloud not exposing port 80" 60 61 echo "" 62 echo "🔒 Forgejo Volume Permissions:" 63 ls -ld ./volumes/forgejo || echo "❌ Missing volumes/forgejo" 64 ls -la ./volumes/forgejo || echo "⚠️ Contents not accessible" 65 66 echo "" 67 echo "🔒 Trilium Volume Permissions:" 68 ls -ld ./volumes/trilium || echo "❌ Missing volumes/trilium" 69 ls -la ./volumes/trilium || echo "⚠️ Contents not accessible" 70 71 echo "" 72 echo "🔒 HedgeDoc Volume Permissions:" 73 ls -ld ./volumes/hedgedoc/uploads || echo "❌ Missing volumes/hedgedoc/uploads" 74 ls -la ./volumes/hedgedoc/uploads || echo "⚠️ Contents not accessible" 75 76 echo "" 77 echo "🔒 Nextcloud Volume Permissions:" 78 ls -ld ./volumes/nextcloud/html || echo "❌ Missing volumes/nextcloud/html" 79 ls -la ./volumes/nextcloud/html || echo "⚠️ Contents not accessible" 80 ls -ld ./volumes/nextcloud/data || echo "❌ Missing volumes/nextcloud/data" 81 ls -la ./volumes/nextcloud/data || echo "⚠️ Contents not accessible" 82 83 echo "" 84 echo "🧠 Entrypoint Script Check (forgejo-entrypoint.sh):" 85 head -n 10 scripts/forgejo-entrypoint.sh || echo "⚠️ Missing entrypoint script" 86 87 echo "" 88 echo "📜 Environment Variables (.env.dev):" 89 if [ -f .env.dev ]; then 90 cat .env.dev | grep -v '^#' 91 else 92 echo "⚠️ .env.dev not found." 93 fi 94 95 echo "" 96 echo "✅ All checks completed." 97 echo "If you're still seeing issues, review logs above or run:" 98 echo " docker compose logs -f [service]"