263272d326
Made-with: Cursor
176 lines
6.0 KiB
Markdown
176 lines
6.0 KiB
Markdown
# Troubleshooting
|
|
|
|
## 1) `https://git.papatramp.ru` не открывается
|
|
|
|
Проверь DNS и маршрутизацию:
|
|
|
|
```bash
|
|
dig +short git.papatramp.ru
|
|
```
|
|
|
|
- из интернета должен резолвиться во внешний IP;
|
|
- из локалки лучше Split DNS на LAN IP HAProxy.
|
|
|
|
Проверь HAProxy:
|
|
|
|
```bash
|
|
sudo haproxy -c -f /etc/haproxy/haproxy.cfg
|
|
sudo systemctl status haproxy --no-pager
|
|
```
|
|
|
|
## 2) 404 от HAProxy
|
|
|
|
Причина: не совпадает `Host`, запрос уходит в `bk_http_default`.
|
|
|
|
Проверка:
|
|
|
|
```bash
|
|
curl -I -H "Host: git.papatramp.ru" http://127.0.0.1
|
|
```
|
|
|
|
Убедись, что есть ACL:
|
|
|
|
- `acl host_git hdr(host) -i git.papatramp.ru`
|
|
- `use_backend bk_gitea if host_git`
|
|
|
|
## 3) 503 от HAProxy на Gitea
|
|
|
|
Причина: backend `bk_gitea` down.
|
|
|
|
Проверки:
|
|
|
|
```bash
|
|
curl -I http://192.168.128.100:3000
|
|
curl -I http://192.168.128.100:3000/api/healthz
|
|
```
|
|
|
|
Если не отвечает:
|
|
|
|
```bash
|
|
cd /opt/gitea
|
|
sudo docker compose ps
|
|
sudo docker compose logs --tail=200 gitea
|
|
```
|
|
|
|
## 4) SSH push не работает (`Permission denied (publickey)`)
|
|
|
|
Проверь порт и доступ:
|
|
|
|
```bash
|
|
nc -zv git.papatramp.ru 2222
|
|
ssh -vvv -p 2222 git@git.papatramp.ru
|
|
```
|
|
|
|
Убедись:
|
|
|
|
- публичный ключ добавлен в Gitea аккаунт;
|
|
- в `~/.ssh/config` правильный `HostName`, `Port`, `IdentityFile`;
|
|
- backend `bk_git_ssh` смотрит на правильный IP/порт.
|
|
|
|
## 5) В локалке не работает, а из интернета работает
|
|
|
|
Обычно это DNS/NAT loopback:
|
|
|
|
- настрой Split DNS (`git.papatramp.ru -> LAN IP HAProxy`);
|
|
- либо включи Hairpin NAT на роутере.
|
|
|
|
## 6) Миграция не создает репозитории в Gitea
|
|
|
|
Проверь токен и права:
|
|
|
|
- `GITEA_TOKEN` должен иметь право создавать репозитории;
|
|
- для org нужен доступ к организации;
|
|
- `GITEA_OWNER_TYPE` должен соответствовать `user`/`org`.
|
|
|
|
Проверка API:
|
|
|
|
```bash
|
|
curl -H "Authorization: token $GITEA_TOKEN" "$GITEA_URL/api/v1/user"
|
|
```
|
|
|
|
## 7) Private репозитории GitHub не видны в миграции
|
|
|
|
Проверь `GITHUB_TOKEN`:
|
|
|
|
- токен должен иметь права на чтение приватных репозиториев;
|
|
- `GITHUB_OWNER` и `GITHUB_OWNER_TYPE` должны быть корректными.
|
|
|
|
## 8) LFS не перенесся
|
|
|
|
Включи:
|
|
|
|
```bash
|
|
export MIGRATE_LFS=true
|
|
```
|
|
|
|
И проверь наличие `git-lfs`:
|
|
|
|
```bash
|
|
git lfs version
|
|
```
|
|
|
|
## 9) Кривые редиректы/URL в Gitea
|
|
|
|
Проверь `ROOT_URL` в `app.ini`:
|
|
|
|
```ini
|
|
[server]
|
|
ROOT_URL = https://git.papatramp.ru/
|
|
```
|
|
|
|
И заголовки от HAProxy в `bk_gitea` (`X-Forwarded-Proto`, `X-Forwarded-Host`, `Host`).
|
|
|
|
## 10) `E: Unable to locate package docker-compose-plugin`
|
|
|
|
Команды в этом репозитории используют **Docker Compose v2** (`docker compose …`). Пакет `docker-compose-plugin` есть не на каждой установке Ubuntu: отключён репозиторий **universe**, минимальный образ, сторонняя сборка без полных источников apt.
|
|
|
|
### Шаг 1: включить `universe` и обновить индекс
|
|
|
|
На официальных Ubuntu Desktop/Server пакет обычно в **universe**:
|
|
|
|
```bash
|
|
sudo apt-get install -y software-properties-common
|
|
sudo add-apt-repository universe
|
|
sudo apt-get update
|
|
sudo apt-get install -y docker-compose-plugin
|
|
```
|
|
|
|
Если Docker ещё не ставили: `sudo apt-get install -y docker.io` (и снова `docker-compose-plugin`).
|
|
|
|
### Шаг 2: официальный репозиторий Docker (если шаг 1 не помог)
|
|
|
|
Подходит для систем без нужного пакета в Ubuntu или если нужны актуальные **docker-ce** и плагины с одного источника. Полная инструкция и ключи — на [странице установки Docker Engine для Ubuntu](https://docs.docker.com/engine/install/ubuntu/).
|
|
|
|
Кратко: добавляется репозиторий `download.docker.com`, затем:
|
|
|
|
```bash
|
|
sudo apt-get update
|
|
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
|
sudo systemctl enable --now docker
|
|
```
|
|
|
|
**Важно:** пакет **`docker.io`** (из Ubuntu) и метапакет **`docker-ce`** (из Docker) для демона конфликтуют: на одной машине держите что-то одно. Если уже установлен `docker.io` и менять не хотите, сначала попробуйте только **шаг 1** и отдельно `docker-compose-plugin` из того же Ubuntu; иначе перейдите на `docker-ce` по документации Docker и удалите `docker.io`.
|
|
|
|
### Шаг 3: плагин вручную из релиза Compose (без apt)
|
|
|
|
Если нужен только бинарник Compose v2 рядом с уже работающим `docker`:
|
|
|
|
- Актуальная версия и архитектура — в [релизах compose](https://github.com/docker/compose/releases).
|
|
- Пример для amd64 (подставьте версию и имя файла со страницы релиза):
|
|
|
|
```bash
|
|
sudo mkdir -p /usr/local/lib/docker/cli-plugins
|
|
sudo curl -SL "https://github.com/docker/compose/releases/download/v2.XX.YY/docker-compose-linux-x86_64" \
|
|
-o /usr/local/lib/docker/cli-plugins/docker-compose
|
|
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
|
|
docker compose version
|
|
```
|
|
|
|
Путь `…/cli-plugins/docker-compose` — стандартный для подкоманды `docker compose`.
|
|
|
|
### Проверка
|
|
|
|
```bash
|
|
docker compose version
|
|
```
|