fix(bootstrap): clarify OWGIT_REPO_DIR and document path errors

Made-with: Cursor
This commit is contained in:
PTah
2026-04-22 12:10:32 +10:00
parent c9a237b8fa
commit a58be4b409
3 changed files with 44 additions and 7 deletions
+18 -5
View File
@@ -63,14 +63,24 @@ sudo docker compose up -d
Или one-shot bootstrap (без локального HAProxy, если он уже есть отдельно): Или one-shot bootstrap (без локального HAProxy, если он уже есть отдельно):
```bash ```bash
cd /путь/к/клону/owngit
chmod +x scripts/bootstrap-own-git.sh 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 ```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: Полезные переменные bootstrap:
@@ -100,13 +110,15 @@ cd /opt/owngit && sudo chmod +x scripts/bootstrap-own-git.sh
Сначала прогон без изменений: Сначала прогон без изменений:
```bash ```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 ```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 ```bash
cd /opt/owngit
sudo OWGIT_REPO_DIR=/opt/owngit \ sudo OWGIT_REPO_DIR=/opt/owngit \
ENABLE_HAPROXY=false \ ENABLE_HAPROXY=false \
ENABLE_REMOTE_HAPROXY_DEPLOY=true \ ENABLE_REMOTE_HAPROXY_DEPLOY=true \
REMOTE_HAPROXY_HOST=192.168.128.65 \ REMOTE_HAPROXY_HOST=192.168.128.65 \
REMOTE_HAPROXY_USER=papatramp \ REMOTE_HAPROXY_USER=papatramp \
REMOTE_HAPROXY_PASSWORD='ваш_пароль_ssh' \ REMOTE_HAPROXY_PASSWORD='ваш_пароль_ssh' \
scripts/bootstrap-own-git.sh ./scripts/bootstrap-own-git.sh
``` ```
Рекомендуется сначала сделать dry-run с теми же переменными. Рекомендуется сначала сделать dry-run с теми же переменными.
+17
View File
@@ -201,3 +201,20 @@ docker compose version
``` ```
Путь `…/cli-plugins/docker-compose` — стандартный для подкоманды `docker compose`. Путь `…/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).
+9 -2
View File
@@ -14,7 +14,7 @@ set -euo pipefail
# 3) Запускать от root (sudo). # 3) Запускать от root (sudo).
# #
# OWGIT_REPO_DIR по умолчанию — корень репозитория (каталог над scripts/). Для установки из /opt/owngit задайте явно: # 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)" _SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
_REPO_ROOT="$(cd "${_SCRIPT_DIR}/.." && pwd)" _REPO_ROOT="$(cd "${_SCRIPT_DIR}/.." && pwd)"
@@ -96,7 +96,14 @@ require_paths() {
missing=1 missing=1
fi fi
done 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() { install_packages() {