Add MongoDB integration and configure Docker container to publish app on port 8084
This commit is contained in:
+12
-27
@@ -1,34 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
DB_NAME="${DB_NAME:-hospital}"
|
||||
DB_USER="${DB_USER:-hospital}"
|
||||
DB_PASSWORD="${DB_PASSWORD:-hospital123}"
|
||||
echo "Starting local MongoDB server (only accessible from inside container)..."
|
||||
# Start mongod as the default mongodb user, bound to localhost (127.0.0.1) for internal access only
|
||||
su -s /bin/bash -c "mongod --dbpath /data/db --bind_ip 127.0.0.1 --fork --logpath /var/log/mongodb/mongod.log" mongodb
|
||||
|
||||
echo "Waiting for MariaDB to be ready..."
|
||||
for i in $(seq 1 60); do
|
||||
mysql -h "${DB_HOST:-db}" -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" -e "SELECT 1" 2>/dev/null && break || sleep 2
|
||||
echo "Waiting for MongoDB to be ready..."
|
||||
for i in $(seq 1 30); do
|
||||
mongosh --eval "db.adminCommand('ping')" --quiet &>/dev/null && break
|
||||
sleep 1
|
||||
done
|
||||
|
||||
ADMIN_DNI="${ADMIN_DNI:-00000000}"
|
||||
ADMIN_PASSWORD="${ADMIN_PASSWORD:-Admin123!}"
|
||||
echo "Starting Nginx reverse proxy..."
|
||||
nginx
|
||||
|
||||
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
|
||||
echo "Starting Node.js backend connected to local MongoDB..."
|
||||
# Start the Node.js API server using MongoDB
|
||||
exec node server/api-mongodb.js
|
||||
|
||||
Reference in New Issue
Block a user