This commit is contained in:
emrekirman 2025-08-28 14:41:55 +03:00
parent 4e8e4bca6f
commit af0fc8b01b

View File

@ -25,32 +25,27 @@ services:
image: mongo:6
networks:
- rocketchat-net
command: >
bash -lc '
command:
- sh
- -lc
- |
set -e
echo "Mongo ping bekleniyor..."
# Mongo hazır olana kadar ping at
echo "Waiting for Mongo to be ready..."
until mongosh --host mongo:27017 --quiet --eval "db.adminCommand({ ping: 1 }).ok" | grep -q 1; do
sleep 2
done
echo "Mongo ulaşılıyor. ReplSet durumu kontrol ediliyor..."
# rs.status() initiated değilken hata atar; try/catch ile idempotent yapıyoruz
mongosh --host mongo:27017 --quiet --eval "
echo "Mongo is up. Checking/initializing replica set..."
mongosh --host mongo:27017 --quiet --eval '
try {
if (rs.status().ok === 1) {
print('ReplSet zaten başlatılmış.');
print("Replica set already initiated.");
} else {
throw new Error('status ok değil');
throw new Error("status not ok");
}
} catch (e) {
print('ReplSet başlatılıyor...');
rs.initiate({
_id: \"rs0\",
members: [{ _id: 0, host: \"mongo:27017\" }]
});
printjson(rs.status());
print("Initiating replica set...");
rs.initiate({ _id: "rs0", members: [ { _id: 0, host: "mongo:27017" } ] });
}
"
'
deploy:
restart_policy: