woodpecker/init_database.sh

30 lines
1.1 KiB
Bash
Executable File

#!/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."