Add script to initialize database user

This commit is contained in:
Colin 2025-10-13 00:42:13 -04:00
parent 20e8a70423
commit 102c6b255e
Signed by: colin
SSH Key Fingerprint: SHA256:nRPCQTeMFLdGytxRQmPVK9VXY3/ePKQ5lGRyJhT5DY8
1 changed files with 29 additions and 0 deletions

29
init_database.sh Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
# Script to initialize the database with the proper user permissions
echo "===== FINDING DATABASE CONTAINER ====="
DB_CONTAINER=$(docker ps --filter name=woodpecker_db -q)
if [ -z "$DB_CONTAINER" ]; then
echo "ERROR: No database container found!"
exit 1
fi
echo "Found database container: $DB_CONTAINER"
echo "===== CREATING DATABASE USER ====="
docker exec -i $DB_CONTAINER mysql -u root --password="$(docker exec $DB_CONTAINER cat /var/lib/mysql/mysql_root_password)" <<EOF
CREATE DATABASE IF NOT EXISTS woodpecker;
CREATE USER IF NOT EXISTS 'woodpecker'@'%' IDENTIFIED BY 'woodpecker';
GRANT ALL PRIVILEGES ON woodpecker.* TO 'woodpecker'@'%';
FLUSH PRIVILEGES;
EOF
echo "===== VERIFYING DATABASE USER ====="
docker exec -i $DB_CONTAINER mysql -u root --password="$(docker exec $DB_CONTAINER cat /var/lib/mysql/mysql_root_password)" -e "SELECT User, Host FROM mysql.user WHERE User='woodpecker';"
echo "===== RESTARTING SERVER SERVICE ====="
docker service update --force woodpecker_server
echo "===== DONE ====="
echo "Database user created and server restarted."