76 lines
2.1 KiB
Bash
Executable File
76 lines
2.1 KiB
Bash
Executable File
#!/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."
|