#!/usr/bin/env bash set -e # Ensure permissions on volume and logs directory mkdir -p /data/db /var/log/mongodb /var/run/mongodb chown -R mongodb:mongodb /data/db /var/log/mongodb /var/run/mongodb 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 MongoDB to be ready..." for i in $(seq 1 30); do mongosh --eval "db.adminCommand('ping')" --quiet &>/dev/null && break sleep 1 done echo "Starting Nginx reverse proxy..." nginx echo "Starting Node.js backend connected to local MongoDB..." # Start the Node.js API server using MongoDB exec node server/api-mongodb.js