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");
|
print("created app user");
|
||||||
} else {
|
} 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() {
|
resolve_docker_cmd() {
|
||||||
if docker info >/dev/null 2>&1; then
|
if docker info >/dev/null 2>&1; then
|
||||||
DOCKER_CMD=(docker)
|
DOCKER_CMD=(docker)
|
||||||
@@ -113,6 +138,8 @@ resolve_docker_cmd
|
|||||||
|
|
||||||
compose build website
|
compose build website
|
||||||
compose up -d mongodb
|
compose up -d mongodb
|
||||||
|
wait_for_mongo_ready
|
||||||
|
ensure_mongo_app_user
|
||||||
compose up -d --no-deps website
|
compose up -d --no-deps website
|
||||||
|
|
||||||
# Wait for website to become healthy (simple HTTP check)
|
# Wait for website to become healthy (simple HTTP check)
|
||||||
|
|||||||
Reference in New Issue
Block a user