#!/bin/bash set -e echo "Starting MongoDB..." mongod --config /etc/mongod.conf & # Wait for MongoDB to be ready echo "Waiting for MongoDB to start..." max_attempts=30 attempt=1 while ! mongosh --quiet --eval "db.version()" > /dev/null 2>&1; do if [ $attempt -gt $max_attempts ]; then echo "MongoDB failed to start. Showing logs:" cat /var/log/mongodb.log exit 1 fi echo "Attempt $attempt of $max_attempts: MongoDB not ready yet..." sleep 2 attempt=$((attempt + 1)) done echo "MongoDB started successfully" # Initialize replica set echo "Initializing replica set..." mongosh --eval 'rs.initiate({_id: "rs01", members: [{_id: 0, host: "localhost:27017"}]})' || { echo "Failed to initialize replica set" exit 1 } echo "Waiting for replica set to initialize..." sleep 5 # Start Rocket.Chat echo "Starting Rocket.Chat..." cd /opt/Rocket.Chat exec node main.js