diff --git a/README.md b/README.md index 8315e30..be5b1bf 100644 --- a/README.md +++ b/README.md @@ -63,14 +63,24 @@ sudo docker compose up -d Или one-shot bootstrap (без локального HAProxy, если он уже есть отдельно): ```bash +cd /путь/к/клону/owngit chmod +x scripts/bootstrap-own-git.sh -sudo OWGIT_REPO_DIR=/opt/owngit ENABLE_HAPROXY=false scripts/bootstrap-own-git.sh +sudo OWGIT_REPO_DIR="$(pwd)" ENABLE_HAPROXY=false ./scripts/bootstrap-own-git.sh +``` + +Переменная **`OWGIT_REPO_DIR`** должна указывать на **реальный** каталог с этим репозиторием (где есть `gitea/docker-compose.yml`). Если вы задали `/opt/owngit`, но клон лежит в `/tmp/owngit`, файлы не найдутся — используйте `$(pwd)` из каталога клона или склонируйте в `/opt/owngit`. + +Вариант из `/opt` после `git clone … /opt/owngit`: + +```bash +sudo OWGIT_REPO_DIR=/opt/owngit ENABLE_HAPROXY=false ./scripts/bootstrap-own-git.sh ``` Сначала безопасная проверка шагов без изменений: ```bash -sudo OWGIT_REPO_DIR=/opt/owngit ENABLE_HAPROXY=false scripts/bootstrap-own-git.sh --dry-run +cd /путь/к/owngit +sudo OWGIT_REPO_DIR="$(pwd)" ENABLE_HAPROXY=false ./scripts/bootstrap-own-git.sh --dry-run ``` Полезные переменные bootstrap: @@ -100,13 +110,15 @@ cd /opt/owngit && sudo chmod +x scripts/bootstrap-own-git.sh Сначала прогон без изменений: ```bash -sudo OWGIT_REPO_DIR=/opt/owngit ENABLE_HAPROXY=false scripts/bootstrap-own-git.sh --dry-run +cd /opt/owngit +sudo OWGIT_REPO_DIR=/opt/owngit ENABLE_HAPROXY=false ./scripts/bootstrap-own-git.sh --dry-run ``` Потом реальный запуск: ```bash -sudo OWGIT_REPO_DIR=/opt/owngit ENABLE_HAPROXY=false scripts/bootstrap-own-git.sh +cd /opt/owngit +sudo OWGIT_REPO_DIR=/opt/owngit ENABLE_HAPROXY=false ./scripts/bootstrap-own-git.sh ``` После установки быстрая проверка: @@ -126,13 +138,14 @@ curl -I http://127.0.0.1:3000 Пример запуска для вашего случая: ```bash +cd /opt/owngit sudo OWGIT_REPO_DIR=/opt/owngit \ ENABLE_HAPROXY=false \ ENABLE_REMOTE_HAPROXY_DEPLOY=true \ REMOTE_HAPROXY_HOST=192.168.128.65 \ REMOTE_HAPROXY_USER=papatramp \ REMOTE_HAPROXY_PASSWORD='ваш_пароль_ssh' \ - scripts/bootstrap-own-git.sh + ./scripts/bootstrap-own-git.sh ``` Рекомендуется сначала сделать dry-run с теми же переменными. diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 2b3e8d4..d1d16a4 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -201,3 +201,20 @@ docker compose version ``` Путь `…/cli-plugins/docker-compose` — стандартный для подкоманды `docker compose`. + +## 11) Bootstrap: «Не найден файл: …/gitea/docker-compose.yml» и т.п. + +Скрипт ищет файлы по **`OWGIT_REPO_DIR`** (по умолчанию это каталог **над** `scripts/`, где лежит `bootstrap-own-git.sh`). Ошибка значит: переменная указывает **не на тот** каталог или репозиторий не склонирован туда. + +**Пример ошибки:** задали `OWGIT_REPO_DIR=/opt/owngit`, а клон реально в `/tmp/owngit`. + +**Исправление:** + +```bash +cd /tmp/owngit # каталог с gitea/, systemd/, … +sudo OWGIT_REPO_DIR="$(pwd)" ENABLE_HAPROXY=false ./scripts/bootstrap-own-git.sh +``` + +Либо склонируйте репозиторий в `/opt/owngit` и используйте `OWGIT_REPO_DIR=/opt/owngit`. Запускайте **`./scripts/bootstrap-own-git.sh`** из каталога клона (или с явным путём к скрипту), чтобы не исполнить случайный скрипт из `$PATH`. + +См. также блок про bootstrap в [`README.md`](../README.md). diff --git a/scripts/bootstrap-own-git.sh b/scripts/bootstrap-own-git.sh index e5756ee..100a8da 100644 --- a/scripts/bootstrap-own-git.sh +++ b/scripts/bootstrap-own-git.sh @@ -14,7 +14,7 @@ set -euo pipefail # 3) Запускать от root (sudo). # # OWGIT_REPO_DIR по умолчанию — корень репозитория (каталог над scripts/). Для установки из /opt/owngit задайте явно: -# OWGIT_REPO_DIR=/opt/owngit sudo ./scripts/bootstrap-own-git.sh +# cd /opt/owngit && sudo OWGIT_REPO_DIR="$(pwd)" ./scripts/bootstrap-own-git.sh _SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" _REPO_ROOT="$(cd "${_SCRIPT_DIR}/.." && pwd)" @@ -96,7 +96,14 @@ require_paths() { missing=1 fi done - [[ "$missing" -eq 0 ]] || exit 1 + if [[ "$missing" -ne 0 ]]; then + err "OWGIT_REPO_DIR=${OWGIT_REPO_DIR}" + err "Должен указывать на корень клона owngit (рядом должны быть каталоги gitea/, systemd/, fail2ban/)." + warn "Если клон не в этой папке: sudo OWGIT_REPO_DIR=/путь/к/owngit ENABLE_HAPROXY=false ./scripts/bootstrap-own-git.sh" + warn "Из каталога клона без переменной (автовыбор каталога): cd /путь/к/owngit && sudo ENABLE_HAPROXY=false ./scripts/bootstrap-own-git.sh" + warn "Если нужен именно /opt/owngit — клонируйте репозиторий туда или скопируйте дерево файлов." + exit 1 + fi } install_packages() {