feat: enhance docker entrypoint logs for mongodb and nginx startup errors

This commit is contained in:
2026-08-10 09:10:01 +00:00
parent 223f8b01ab
commit 447f9d3cfe
+29 -4
View File
@@ -6,18 +6,43 @@ 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
# Start mongod as default mongodb user, bound to localhost (127.0.0.1)
if ! su -s /bin/bash -c "mongod --dbpath /data/db --bind_ip 127.0.0.1 --fork --logpath /var/log/mongodb/mongod.log" mongodb; then
echo "ERROR: Failed to fork mongod process."
if [ -f /var/log/mongodb/mongod.log ]; then
echo "=== MongoDB Log (/var/log/mongodb/mongod.log) ==="
cat /var/log/mongodb/mongod.log
fi
exit 1
fi
echo "Waiting for MongoDB to be ready..."
READY=0
for i in $(seq 1 30); do
mongosh --eval "db.adminCommand('ping')" --quiet &>/dev/null && break
if mongosh --eval "db.adminCommand('ping')" --quiet &>/dev/null; then
READY=1
echo "MongoDB is ready."
break
fi
sleep 1
done
if [ "$READY" -ne 1 ]; then
echo "ERROR: MongoDB did not become ready within 30 seconds!"
if [ -f /var/log/mongodb/mongod.log ]; then
echo "=== MongoDB Log (/var/log/mongodb/mongod.log) ==="
tail -n 100 /var/log/mongodb/mongod.log
fi
exit 1
fi
echo "Starting Nginx reverse proxy..."
nginx
if ! nginx; then
echo "ERROR: Failed to start Nginx."
exit 1
fi
echo "Starting Node.js backend connected to local MongoDB..."
# Start the Node.js API server using MongoDB
exec node server/api-mongodb.js