From 05325ce98248e7997314f91d44ebb5388b2fe210 Mon Sep 17 00:00:00 2001 From: deadcxap <36386824+deadcxap@users.noreply.github.com> Date: Mon, 25 Aug 2025 03:41:31 +0300 Subject: [PATCH] Run init.sh as created user and use script-relative compose files --- admin/bootstrap/init.sh | 8 ++++++-- node/remnanode/init.sh | 8 +++++--- setup.sh | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/admin/bootstrap/init.sh b/admin/bootstrap/init.sh index 4d6f581..939c6b9 100644 --- a/admin/bootstrap/init.sh +++ b/admin/bootstrap/init.sh @@ -1,4 +1,8 @@ #!/usr/bin/env bash -N=$(awk '/^networks:/,/^[^[:space:]]/{if($1=="name:"){print $2; exit}}' docker-compose.yml); N=${N:-proxy} + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +COMPOSE_FILE="$SCRIPT_DIR/docker-compose.yml" + +N=$(awk '/^networks:/,/^[^[:space:]]/{if($1=="name:"){print $2; exit}}' "$COMPOSE_FILE"); N=${N:-proxy} docker network inspect "$N" >/dev/null 2>&1 || docker network create --driver bridge --attachable "$N" -docker compose up -d --build +docker compose -f "$COMPOSE_FILE" up -d --build diff --git a/node/remnanode/init.sh b/node/remnanode/init.sh index 3c24a2f..97a9b53 100644 --- a/node/remnanode/init.sh +++ b/node/remnanode/init.sh @@ -9,6 +9,9 @@ set -euo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +COMPOSE_FILE="$SCRIPT_DIR/docker-compose.yml" + # --- Шаг 1: загрузка случайного шаблона сайта --- TMP_DIR=$(mktemp -d) git clone --depth 1 https://github.com/SmallPoppa/sni-templates "$TMP_DIR" >/dev/null 2>&1 @@ -25,7 +28,7 @@ cp -R "$TEMPLATE_DIR"/. /var/www/html/ rm -rf /var/www/html/.git "$TMP_DIR" # --- Шаг 2: создание докер-сети --- -N=$(awk '/^networks:/,/^[^[:space:]]/{if($1=="name:"){print $2; exit}}' docker-compose.yml); N=${N:-proxy} +N=$(awk '/^networks:/,/^[^[:space:]]/{if($1=="name:"){print $2; exit}}' "$COMPOSE_FILE"); N=${N:-proxy} docker network inspect "$N" >/dev/null 2>&1 || docker network create --driver bridge --attachable "$N" # --- Шаг 3: запрос параметров --- @@ -36,7 +39,6 @@ read -rp "CW_CLIENT_AES_KEY_BASE64: " CW_CLIENT_AES_KEY_BASE64 read -rp "CW_CLIENT_KEY_APIKEY: " CW_CLIENT_KEY_APIKEY read -rp "CW_CLIENT_CERT_APIKEY: " CW_CLIENT_CERT_APIKEY -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ENV_FILE="$SCRIPT_DIR/.env" touch "$ENV_FILE" @@ -63,5 +65,5 @@ if [ -n "$CENTRAL_IP" ]; then fi # --- Шаг 5: запуск docker compose --- -docker compose up -d +docker compose -f "$COMPOSE_FILE" up -d diff --git a/setup.sh b/setup.sh index 400664b..ad956dd 100644 --- a/setup.sh +++ b/setup.sh @@ -322,7 +322,7 @@ setup_role() { run "Setting ownership for $target_dir" chown -R "$USERNAME:$USERNAME" "$target_dir" init_script="$target_dir/init.sh" if [[ -f "$init_script" ]]; then - run "Running init.sh for $service_name" bash "$init_script" + run "Running init.sh for $service_name" sudo -u "$USERNAME" -H bash "$init_script" run "Waiting for $service_name stack to be Up" bash -c " set -e dir=\"$target_dir\"