advancements for the startup and stopping script
This commit is contained in:
+36
-34
@@ -15,37 +15,7 @@ ensure_mongo_secrets() {
|
||||
|
||||
if [ -z "${MONGO_INITDB_ROOT_PASSWORD:-}" ]; then
|
||||
MONGO_INITDB_ROOT_PASSWORD="$(openssl rand -hex 24)"
|
||||
|
||||
ensure_mongo_app_user() {
|
||||
"${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 '
|
||||
const appDatabase = process.env.MONGO_DB_NAME || "Invario_Website";
|
||||
const appUser = process.env.MONGO_APP_USER || "website_app";
|
||||
const appPassword = process.env.MONGO_APP_PASSWORD;
|
||||
|
||||
if (!appPassword) {
|
||||
throw new Error("Missing MONGO_APP_PASSWORD");
|
||||
}
|
||||
|
||||
const appDb = db.getSiblingDB(appDatabase);
|
||||
if (!appDb.getUser(appUser)) {
|
||||
appDb.createUser({
|
||||
user: appUser,
|
||||
pwd: appPassword,
|
||||
roles: [{ role: "readWrite", db: appDatabase }],
|
||||
});
|
||||
print("created app user");
|
||||
} else {
|
||||
print("app user already exists");
|
||||
}
|
||||
'
|
||||
}
|
||||
fi
|
||||
|
||||
ensure_mongo_app_user
|
||||
if [ -z "${MONGO_APP_PASSWORD:-}" ]; then
|
||||
MONGO_APP_PASSWORD="$(openssl rand -hex 24)"
|
||||
fi
|
||||
@@ -62,6 +32,34 @@ EOF
|
||||
export MONGO_INITDB_ROOT_USERNAME MONGO_INITDB_ROOT_PASSWORD MONGO_APP_USER MONGO_APP_PASSWORD
|
||||
}
|
||||
|
||||
ensure_mongo_app_user() {
|
||||
"${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 '
|
||||
const appDatabase = process.env.MONGO_DB_NAME || "Invario_Website";
|
||||
const appUser = process.env.MONGO_APP_USER || "website_app";
|
||||
const appPassword = process.env.MONGO_APP_PASSWORD;
|
||||
|
||||
if (!appPassword) {
|
||||
throw new Error("Missing MONGO_APP_PASSWORD");
|
||||
}
|
||||
|
||||
const appDb = db.getSiblingDB(appDatabase);
|
||||
if (!appDb.getUser(appUser)) {
|
||||
appDb.createUser({
|
||||
user: appUser,
|
||||
pwd: appPassword,
|
||||
roles: [{ role: "readWrite", db: appDatabase }],
|
||||
});
|
||||
print("created app user");
|
||||
} else {
|
||||
print("app user already exists");
|
||||
}
|
||||
'
|
||||
}
|
||||
|
||||
resolve_docker_cmd() {
|
||||
if docker info >/dev/null 2>&1; then
|
||||
DOCKER_CMD=(docker)
|
||||
@@ -88,6 +86,10 @@ resolve_docker_cmd() {
|
||||
exit 3
|
||||
}
|
||||
|
||||
compose() {
|
||||
"${DOCKER_CMD[@]}" compose --env-file "$SECRETS_FILE" "$@"
|
||||
}
|
||||
|
||||
export SESSION_COOKIE_SECURE="0"
|
||||
export INSTANCE_TLS_MODE="development"
|
||||
export INSTANCE_PARENT_DOMAIN="${INSTANCE_PARENT_DOMAIN:-meine-domain}"
|
||||
@@ -109,9 +111,9 @@ fi
|
||||
|
||||
resolve_docker_cmd
|
||||
|
||||
"${DOCKER_CMD[@]}" compose --env-file "$SECRETS_FILE" build website
|
||||
"${DOCKER_CMD[@]}" compose --env-file "$SECRETS_FILE" up -d mongodb
|
||||
"${DOCKER_CMD[@]}" compose --env-file "$SECRETS_FILE" up -d --no-deps website
|
||||
compose build website
|
||||
compose up -d mongodb
|
||||
compose up -d --no-deps website
|
||||
|
||||
# Wait for website to become healthy (simple HTTP check)
|
||||
check_url="http://localhost:4999"
|
||||
@@ -132,7 +134,7 @@ done
|
||||
if [ $elapsed -ge $timeout_seconds ]; then
|
||||
echo "[FEHLER] Website nicht erreichbar nach ${timeout_seconds}s. Sammle Diagnosedaten..."
|
||||
echo "--- docker compose ps ---"
|
||||
"${DOCKER_CMD[@]}" compose --env-file "$SECRETS_FILE" ps || true
|
||||
compose ps || true
|
||||
echo "--- docker logs website (tail 200) ---"
|
||||
"${DOCKER_CMD[@]}" logs --tail 200 website-website-1 || true
|
||||
echo "Bitte prüfe Container-Logs und nginx-Konfiguration."
|
||||
|
||||
+5
-1
@@ -52,9 +52,13 @@ resolve_docker_cmd() {
|
||||
exit 3
|
||||
}
|
||||
|
||||
compose() {
|
||||
"${DOCKER_CMD[@]}" compose --env-file "$COMPOSE_ENV_FILE" "$@"
|
||||
}
|
||||
|
||||
resolve_docker_cmd
|
||||
|
||||
echo "Stopping WEBSITE stack"
|
||||
"${DOCKER_CMD[@]}" compose --env-file "$COMPOSE_ENV_FILE" down
|
||||
compose down
|
||||
|
||||
echo "Website stack stopped"
|
||||
|
||||
Reference in New Issue
Block a user