Merge pull request #11 from deadcxap/codex/investigate-init.sh-execution-error

Run init scripts as created user and use script-relative compose files
This commit is contained in:
deadcxap
2025-08-25 03:41:47 +03:00
committed by GitHub
3 changed files with 12 additions and 6 deletions
+6 -2
View File
@@ -1,4 +1,8 @@
#!/usr/bin/env bash #!/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 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
+5 -3
View File
@@ -9,6 +9,9 @@
set -euo pipefail set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
COMPOSE_FILE="$SCRIPT_DIR/docker-compose.yml"
# --- Шаг 1: загрузка случайного шаблона сайта --- # --- Шаг 1: загрузка случайного шаблона сайта ---
TMP_DIR=$(mktemp -d) TMP_DIR=$(mktemp -d)
git clone --depth 1 https://github.com/SmallPoppa/sni-templates "$TMP_DIR" >/dev/null 2>&1 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" rm -rf /var/www/html/.git "$TMP_DIR"
# --- Шаг 2: создание докер-сети --- # --- Шаг 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" docker network inspect "$N" >/dev/null 2>&1 || docker network create --driver bridge --attachable "$N"
# --- Шаг 3: запрос параметров --- # --- Шаг 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_KEY_APIKEY: " CW_CLIENT_KEY_APIKEY
read -rp "CW_CLIENT_CERT_APIKEY: " CW_CLIENT_CERT_APIKEY read -rp "CW_CLIENT_CERT_APIKEY: " CW_CLIENT_CERT_APIKEY
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENV_FILE="$SCRIPT_DIR/.env" ENV_FILE="$SCRIPT_DIR/.env"
touch "$ENV_FILE" touch "$ENV_FILE"
@@ -63,5 +65,5 @@ if [ -n "$CENTRAL_IP" ]; then
fi fi
# --- Шаг 5: запуск docker compose --- # --- Шаг 5: запуск docker compose ---
docker compose up -d docker compose -f "$COMPOSE_FILE" up -d
+1 -1
View File
@@ -322,7 +322,7 @@ setup_role() {
run "Setting ownership for $target_dir" chown -R "$USERNAME:$USERNAME" "$target_dir" run "Setting ownership for $target_dir" chown -R "$USERNAME:$USERNAME" "$target_dir"
init_script="$target_dir/init.sh" init_script="$target_dir/init.sh"
if [[ -f "$init_script" ]]; then 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 " run "Waiting for $service_name stack to be Up" bash -c "
set -e set -e
dir=\"$target_dir\" dir=\"$target_dir\"