install.sh: флаг --monitoring — install.sh ни в одном пресете не поднимал monitoring
set_env_var COMPOSE_PROFILES перезаписывает значение целиком по пресету, затирая media,monitoring из .env.example — Grafana/Prometheus оставались не поднятыми, пока оператор не допишет профиль в .env вручную. --monitoring дописывает monitoring к профилю, который выставил пресет, и включает его сразу в тот же docker compose up (не только в .env).
This commit is contained in:
44
install.sh
44
install.sh
@@ -21,6 +21,7 @@
|
|||||||
# ./install.sh # интерактивный опросник
|
# ./install.sh # интерактивный опросник
|
||||||
# ./install.sh --preset 3 # неинтерактивно, пресет 3
|
# ./install.sh --preset 3 # неинтерактивно, пресет 3
|
||||||
# ./install.sh --preset 3 --yes # без подтверждений (скрипты/CI)
|
# ./install.sh --preset 3 --yes # без подтверждений (скрипты/CI)
|
||||||
|
# ./install.sh --preset 2 --monitoring --yes # + профиль monitoring (Grafana/Prometheus)
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
@@ -33,6 +34,12 @@ VERSION_FILE="$SCRIPT_DIR/VERSION"
|
|||||||
|
|
||||||
PRESET=""
|
PRESET=""
|
||||||
ASSUME_YES=0
|
ASSUME_YES=0
|
||||||
|
# По умолчанию 0: `set_env_var COMPOSE_PROFILES` ниже (по каждому пресету)
|
||||||
|
# перезаписывает значение целиком, затирая `media,monitoring` из
|
||||||
|
# .env.example — без этого флага мониторинг остаётся не поднятым, пока
|
||||||
|
# оператор не допишет профиль вручную (см. .forcc/deploy/SESSION4-FINDINGS.md,
|
||||||
|
# ГРАБЛИ 2).
|
||||||
|
MONITORING=0
|
||||||
|
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@@ -44,6 +51,10 @@ while [ $# -gt 0 ]; do
|
|||||||
ASSUME_YES=1
|
ASSUME_YES=1
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
--monitoring)
|
||||||
|
MONITORING=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
-h|--help)
|
-h|--help)
|
||||||
grep -E '^#( |$)' "$0" | sed 's/^#//'
|
grep -E '^#( |$)' "$0" | sed 's/^#//'
|
||||||
exit 0
|
exit 0
|
||||||
@@ -466,6 +477,17 @@ case "$PRESET" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# --monitoring: дописать профиль monitoring к тому, что выставил пресет
|
||||||
|
# выше (set_env_var перезаписывает значение целиком, поэтому мониторинг
|
||||||
|
# нельзя было получить только сменой пресета — см. комментарий у MONITORING).
|
||||||
|
if [ "$MONITORING" = "1" ]; then
|
||||||
|
current_profiles="$(get_env_var COMPOSE_PROFILES)"
|
||||||
|
case ",${current_profiles}," in
|
||||||
|
*,monitoring,*) ;;
|
||||||
|
*) set_env_var COMPOSE_PROFILES "${current_profiles},monitoring" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
echo "[install] .env обновлён (пресет ${PRESET}, COMPOSE_PROFILES=$(get_env_var COMPOSE_PROFILES))"
|
echo "[install] .env обновлён (пресет ${PRESET}, COMPOSE_PROFILES=$(get_env_var COMPOSE_PROFILES))"
|
||||||
|
|
||||||
echo "[install] Проверяю .env на dev-плейсхолдеры перед подъёмом стека"
|
echo "[install] Проверяю .env на dev-плейсхолдеры перед подъёмом стека"
|
||||||
@@ -562,6 +584,23 @@ ADMIN_EMAIL="$(get_env_var SEED_ADMIN_EMAIL)"
|
|||||||
ADMIN_PASSWORD="$(get_env_var SEED_ADMIN_PASSWORD)"
|
ADMIN_PASSWORD="$(get_env_var SEED_ADMIN_PASSWORD)"
|
||||||
GRAFANA_USER="$(get_env_var GRAFANA_ADMIN_USER)"
|
GRAFANA_USER="$(get_env_var GRAFANA_ADMIN_USER)"
|
||||||
|
|
||||||
|
if [ "$MONITORING" = "1" ]; then
|
||||||
|
MONITORING_BLOCK="$(cat <<EOF2
|
||||||
|
Мониторинг (Grafana/Prometheus) поднят вместе со стеком (--monitoring):
|
||||||
|
Prometheus: http://127.0.0.1:9090 (только localhost, см. docs/deploy/DEPLOYMENT.md)
|
||||||
|
Grafana: http://127.0.0.1:3001 (${GRAFANA_USER:-admin} / см. .env GRAFANA_ADMIN_PASSWORD)
|
||||||
|
EOF2
|
||||||
|
)"
|
||||||
|
else
|
||||||
|
MONITORING_BLOCK="$(cat <<EOF2
|
||||||
|
Мониторинг (Grafana/Prometheus) — отдельный профиль compose, не входит
|
||||||
|
в базовые пресеты. Поднять сейчас: docker compose -f ${COMPOSE_FILE} --env-file ${ENV_FILE} --profile monitoring up -d
|
||||||
|
(или перезапустите install.sh с флагом --monitoring).
|
||||||
|
Grafana: http://localhost:3001 (${GRAFANA_USER:-admin} / см. .env GRAFANA_ADMIN_PASSWORD)
|
||||||
|
EOF2
|
||||||
|
)"
|
||||||
|
fi
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
|
||||||
============================================================
|
============================================================
|
||||||
@@ -572,10 +611,7 @@ cat <<EOF
|
|||||||
Админ: ${ADMIN_EMAIL:-см. .env SEED_ADMIN_EMAIL} / ${ADMIN_PASSWORD:-см. .env SEED_ADMIN_PASSWORD}
|
Админ: ${ADMIN_EMAIL:-см. .env SEED_ADMIN_EMAIL} / ${ADMIN_PASSWORD:-см. .env SEED_ADMIN_PASSWORD}
|
||||||
(смените пароль сразу после первого входа)
|
(смените пароль сразу после первого входа)
|
||||||
|
|
||||||
Мониторинг (Grafana/Prometheus) — отдельный профиль compose, не входит
|
${MONITORING_BLOCK}
|
||||||
в базовые пресеты:
|
|
||||||
docker compose -f ${COMPOSE_FILE} --env-file ${ENV_FILE} --profile monitoring up -d
|
|
||||||
Grafana: http://localhost:3001 (${GRAFANA_USER:-admin} / см. .env GRAFANA_ADMIN_PASSWORD)
|
|
||||||
|
|
||||||
Настройки модулей инстанса (чат, уровень AI) синхронизированы под
|
Настройки модулей инстанса (чат, уровень AI) синхронизированы под
|
||||||
пресет ${PRESET} (админка → Настройки, при желании переключите вручную).
|
пресет ${PRESET} (админка → Настройки, при желании переключите вручную).
|
||||||
|
|||||||
Reference in New Issue
Block a user