Add manual relaunch and diagnostic scripts

This commit is contained in:
Colin 2025-10-12 22:29:23 -04:00
parent b490c0fb66
commit c691086fe1
Signed by: colin
SSH Key Fingerprint: SHA256:nRPCQTeMFLdGytxRQmPVK9VXY3/ePKQ5lGRyJhT5DY8
2 changed files with 110 additions and 0 deletions

75
diagnose_and_fix.sh Executable file
View File

@ -0,0 +1,75 @@
#!/bin/bash
# Comprehensive script to diagnose and fix Woodpecker deployment issues
echo "===== SYSTEM INFORMATION ====="
hostname
date
docker info | grep "Server Version"
docker info | grep "Node Address"
echo "===== SWARM STATUS ====="
docker node ls
echo "===== NETWORK STATUS ====="
docker network ls
echo "===== DIRECTORY CHECK ====="
echo "Checking if required directories exist..."
ls -la /mnt/data/nixc.us/woodpecker/production/ || echo "Directory doesn't exist"
echo "Creating required directories..."
mkdir -p /mnt/data/nixc.us/woodpecker/production/db /mnt/data/nixc.us/woodpecker/production/data
echo "Setting permissions..."
chmod -R 777 /mnt/data/nixc.us/woodpecker/production
echo "Verifying directories..."
ls -la /mnt/data/nixc.us/woodpecker/production/
echo "===== CURRENT STACKS ====="
docker stack ls
echo "===== REMOVING EXISTING STACK ====="
docker stack rm woodpecker || echo "No stack to remove"
echo "Waiting for stack to be fully removed..."
sleep 15
echo "===== CHECKING EXISTING SERVICES ====="
docker service ls | grep woodpecker || echo "No woodpecker services found"
echo "===== ENSURING TRAEFIK NETWORK ====="
docker network create --driver=overlay --attachable traefik || echo "Network already exists"
echo "===== DEPLOYING WOODPECKER STACK ====="
cd /mnt/tank/persist/nixc.us/woodpecker/production
echo "Current directory: $(pwd)"
ls -la stack.yml || echo "stack.yml not found!"
if [ -f stack.yml ]; then
echo "Deploying from stack.yml..."
docker stack deploy -c stack.yml woodpecker
else
echo "ERROR: stack.yml not found!"
exit 1
fi
echo "===== WAITING FOR SERVICES ====="
echo "Waiting 30 seconds for services to start..."
sleep 30
echo "===== SERVICE STATUS ====="
docker service ls | grep woodpecker
echo "===== CHECKING LOGS ====="
echo "Database logs:"
docker service logs --tail 20 woodpecker_db || echo "Could not get database logs"
echo "Server logs:"
docker service logs --tail 20 woodpecker_server || echo "Could not get server logs"
echo "===== CHECKING VOLUMES ====="
docker volume ls | grep woodpecker
echo "===== DONE ====="
echo "If services are not running, check the logs above for errors."

35
relaunch.sh Executable file
View File

@ -0,0 +1,35 @@
#!/bin/bash
# Script to manually remove and relaunch Woodpecker stack
echo "Removing existing Woodpecker stack..."
docker stack rm woodpecker
echo "Waiting for stack to be fully removed..."
sleep 15
echo "Creating required directories..."
mkdir -p /mnt/data/nixc.us/woodpecker/production/db /mnt/data/nixc.us/woodpecker/production/data
echo "Setting permissions..."
chmod -R 777 /mnt/data/nixc.us/woodpecker/production
echo "Ensuring traefik network exists..."
docker network create --driver=overlay --attachable traefik || true
echo "Deploying Woodpecker stack..."
cd /mnt/tank/persist/nixc.us/woodpecker/production
docker stack deploy -c stack.yml woodpecker
echo "Waiting for services to start..."
sleep 15
echo "Checking service status..."
docker service ls | grep woodpecker
echo "Checking server logs..."
docker service logs --tail 10 woodpecker_server || true
echo "Checking database logs..."
docker service logs --tail 10 woodpecker_db || true
echo "Done!"