Fix env vars and remove nginx volume

This commit is contained in:
2026-04-24 14:37:03 -03:00
parent a1a61e5306
commit c6e1853034
2 changed files with 33 additions and 28 deletions
+7 -9
View File
@@ -7,18 +7,16 @@ services:
- "8077:80"
- "4000:4000"
environment:
- DB_HOST=localhost
- DB_PORT=3306
- DB_USER=hospital
- DB_PASSWORD=hospital123
- DB_NAME=hospital
- ADMIN_DNI=00000000
- ADMIN_PASSWORD=Admin123!
DB_HOST: localhost
DB_PORT: "3306"
DB_USER: hospital
DB_PASSWORD: hospital123
DB_NAME: hospital
ADMIN_DNI: "00000000"
ADMIN_PASSWORD: Admin123!
volumes:
- mariadb-data:/var/lib/mysql
- nginx-data:/usr/share/nginx/html
restart: unless-stopped
volumes:
mariadb-data:
nginx-data:
+14 -7
View File
@@ -9,19 +9,27 @@ for i in $(seq 1 60); do
mysqladmin ping -h localhost --silent 2>/dev/null && break || sleep 1
done
# Get environment variables
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\`;"
if [ -n "$DB_PASSWORD" ]; then
DB_USER="${DB_USER:-hospital}"
mysql -h localhost -u root -e "CREATE USER IF NOT EXISTS '$DB_USER'@'%' IDENTIFIED BY '$DB_PASSWORD'; GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'%'; FLUSH PRIVILEGES;"
fi
echo "Creating user: $DB_USER"
# Create user for both localhost and %
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;"
# Create admin user
ADMIN_DNI="${ADMIN_DNI:-00000000}"
ADMIN_PASSWORD="${ADMIN_PASSWORD:-Admin123!}"
TABLE_EXISTS=$(mysql -h localhost -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" -N -e "SHOW TABLES LIKE 'usuarios';" 2>/dev/null || true)
if [ -n "$TABLE_EXISTS" ]; then
echo "Checking admin user..."
USER_COUNT=$(mysql -h localhost -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" -N -e "SELECT COUNT(*) FROM usuarios WHERE dni='$ADMIN_DNI';" 2>/dev/null || echo "0")
if [ "$USER_COUNT" = "0" ]; then
ADMIN_ID=$(uuidgen)
@@ -34,7 +42,6 @@ if [ -n "$TABLE_EXISTS" ]; then
echo "Password: $ADMIN_PASSWORD"
echo "=========================================="
fi
fi
echo "Starting nginx..."
nginx &