47 lines
1.5 KiB
Bash
47 lines
1.5 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
set +e # collect everything, don't bail
|
||
|
|
|
||
|
|
echo '############ STEP 1: Locate project directory ############'
|
||
|
|
cd /opt/wecom-it-desk 2>&1
|
||
|
|
echo "Current dir: $(pwd)"
|
||
|
|
ls -la docker-compose.yml 2>&1
|
||
|
|
echo ''
|
||
|
|
|
||
|
|
echo '############ STEP 2: Diagnose (READ-ONLY) ############'
|
||
|
|
echo '--- All wecom_it_ containers ---'
|
||
|
|
docker ps -a --format "table {{.Names}}\t{{.Status}}" | grep -E "wecom_it_|NAMES"
|
||
|
|
echo ''
|
||
|
|
echo '--- Disk space ---'
|
||
|
|
df -h /opt 2>&1
|
||
|
|
echo ''
|
||
|
|
echo '--- backend last 60 log lines ---'
|
||
|
|
docker logs wecom_it_backend --tail 60 2>&1
|
||
|
|
echo ''
|
||
|
|
echo '--- backend internal health check ---'
|
||
|
|
docker exec wecom_it_backend curl -s -o - -w "\nHTTP_CODE: %{http_code}\n" --max-time 5 http://localhost:8000/health 2>&1
|
||
|
|
echo ''
|
||
|
|
|
||
|
|
echo '############ STEP 3: Restart from correct directory ############'
|
||
|
|
cd /opt/wecom-it-desk
|
||
|
|
docker compose up -d 2>&1
|
||
|
|
echo ''
|
||
|
|
echo 'Waiting 15s for services to stabilize...'
|
||
|
|
sleep 15
|
||
|
|
echo ''
|
||
|
|
echo '--- Containers after restart ---'
|
||
|
|
docker ps -a --format "table {{.Names}}\t{{.Status}}" | grep -E "wecom_it_|NAMES"
|
||
|
|
echo ''
|
||
|
|
|
||
|
|
echo '############ STEP 4: End-to-end verification ############'
|
||
|
|
echo '--- backend /health ---'
|
||
|
|
curl -s -o - -w "\nHTTP_CODE: %{http_code}\n" --max-time 5 http://localhost:8000/health
|
||
|
|
echo ''
|
||
|
|
echo '--- nginx routes (expect 200/301/302) ---'
|
||
|
|
for path in / /itagent/ /ith5/ /itadmin/; do
|
||
|
|
code=$(curl -s -o /dev/null -w "%{http_code}" --max-time 5 "http://localhost${path}")
|
||
|
|
echo " $path -> HTTP $code"
|
||
|
|
done
|
||
|
|
echo ''
|
||
|
|
echo '############ DONE ############'
|
||
|
|
echo 'Paste ALL output above back to Claude for diagnosis'
|