/ scripts / diagnose-dev_old.sh
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]"