slight changes to the start script
This commit is contained in:
+28
-1
@@ -55,11 +55,36 @@ if (!appDb.getUser(appUser)) {
|
||||
});
|
||||
print("created app user");
|
||||
} else {
|
||||
print("app user already exists");
|
||||
appDb.updateUser(appUser, {
|
||||
pwd: appPassword,
|
||||
roles: [{ role: "readWrite", db: appDatabase }],
|
||||
});
|
||||
print("updated app user");
|
||||
}
|
||||
'
|
||||
}
|
||||
|
||||
wait_for_mongo_ready() {
|
||||
local timeout_seconds=60
|
||||
local interval=2
|
||||
local elapsed=0
|
||||
|
||||
while [ $elapsed -lt $timeout_seconds ]; do
|
||||
if "${DOCKER_CMD[@]}" compose --env-file "$SECRETS_FILE" exec -T mongodb mongosh --quiet \
|
||||
--username "$MONGO_INITDB_ROOT_USERNAME" \
|
||||
--password "$MONGO_INITDB_ROOT_PASSWORD" \
|
||||
--authenticationDatabase admin \
|
||||
--eval "db.adminCommand('ping').ok" >/dev/null 2>&1; then
|
||||
return 0
|
||||
fi
|
||||
sleep $interval
|
||||
elapsed=$((elapsed + interval))
|
||||
done
|
||||
|
||||
echo "[FEHLER] MongoDB wurde nicht rechtzeitig erreichbar." >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
resolve_docker_cmd() {
|
||||
if docker info >/dev/null 2>&1; then
|
||||
DOCKER_CMD=(docker)
|
||||
@@ -113,6 +138,8 @@ resolve_docker_cmd
|
||||
|
||||
compose build website
|
||||
compose up -d mongodb
|
||||
wait_for_mongo_ready
|
||||
ensure_mongo_app_user
|
||||
compose up -d --no-deps website
|
||||
|
||||
# Wait for website to become healthy (simple HTTP check)
|
||||
|
||||
Reference in New Issue
Block a user