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