Files
administracionHospital/docker-entrypoint.sh
T

60 lines
2.2 KiB
Bash

#!/usr/bin/env bash
set -e
echo "=== Starting MariaDB ==="
mysqld --user=mysql &
echo "Waiting for MariaDB..."
for i in $(seq 1 60); do
mysqladmin ping -h localhost --silent 2>/dev/null && break || sleep 1
done
DB_NAME="${DB_NAME:-hospital}"
DB_USER="${DB_USER:-hospital}"
DB_PASSWORD="${DB_PASSWORD:-hospital123}"
echo "Creating database: $DB_NAME"
mysql -h localhost -u root -e "CREATE DATABASE IF NOT EXISTS \`$DB_NAME\`;"
echo "Creating user: $DB_USER"
mysql -h localhost -u root -e "CREATE USER IF NOT EXISTS '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD';"
mysql -h localhost -u root -e "CREATE USER IF NOT EXISTS '$DB_USER'@'%' IDENTIFIED BY '$DB_PASSWORD';"
mysql -h localhost -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';"
mysql -h localhost -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'%';"
mysql -h localhost -u root -e "FLUSH PRIVILEGES;"
ADMIN_DNI="${ADMIN_DNI:-00000000}"
ADMIN_PASSWORD="${ADMIN_PASSWORD:-Admin123!}"
echo "Starting nginx..."
nginx &
echo "Waiting for API server..."
sleep 3
echo "Creating admin user via API..."
curl -s -X POST "http://localhost:4000/api/usuarios" \
-H "Content-Type: application/json" \
-d "{\"apellido\":\"Administrador\",\"nombre\":\"Sistema\",\"dni\":\"$ADMIN_DNI\",\"fechaNacimiento\":\"2024-01-01\",\"email\":\"admin@hospital.local\",\"rol\":\"admin\",\"password\":\"$ADMIN_PASSWORD\"}" \
|| echo "Admin user may already exist"
echo "=========================================="
echo "ADMIN CREDENTIALS:"
echo "DNI: $ADMIN_DNI"
echo "Password: $ADMIN_PASSWORD"
echo "=========================================="
exec node server/api-mariadb.js
mysql -h localhost -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" -e "INSERT INTO usuarios (id,apellido,nombre,dni,fechaNacimiento,email,rol,passwordHash,fechaCreacion) VALUES ('$ADMIN_ID','Administrador','Sistema','$ADMIN_DNI','$TODAY','admin@hospital.local','admin','$HASH','$TODAY');"
echo "=========================================="
echo "ADMIN CREDENTIALS:"
echo "DNI: $ADMIN_DNI"
echo "Password: $ADMIN_PASSWORD"
echo "=========================================="
fi
echo "Starting nginx..."
nginx &
echo "Starting API server..."
exec node server/api-mariadb.js