Made-with: Cursor
6.0 KiB
Troubleshooting
1) https://git.papatramp.ru не открывается
Проверь DNS и маршрутизацию:
dig +short git.papatramp.ru
- из интернета должен резолвиться во внешний IP;
- из локалки лучше Split DNS на LAN IP HAProxy.
Проверь HAProxy:
sudo haproxy -c -f /etc/haproxy/haproxy.cfg
sudo systemctl status haproxy --no-pager
2) 404 от HAProxy
Причина: не совпадает Host, запрос уходит в bk_http_default.
Проверка:
curl -I -H "Host: git.papatramp.ru" http://127.0.0.1
Убедись, что есть ACL:
acl host_git hdr(host) -i git.papatramp.ruuse_backend bk_gitea if host_git
3) 503 от HAProxy на Gitea
Причина: backend bk_gitea down.
Проверки:
curl -I http://192.168.128.100:3000
curl -I http://192.168.128.100:3000/api/healthz
Если не отвечает:
cd /opt/gitea
sudo docker compose ps
sudo docker compose logs --tail=200 gitea
4) SSH push не работает (Permission denied (publickey))
Проверь порт и доступ:
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:
curl -H "Authorization: token $GITEA_TOKEN" "$GITEA_URL/api/v1/user"
7) Private репозитории GitHub не видны в миграции
Проверь GITHUB_TOKEN:
- токен должен иметь права на чтение приватных репозиториев;
GITHUB_OWNERиGITHUB_OWNER_TYPEдолжны быть корректными.
8) LFS не перенесся
Включи:
export MIGRATE_LFS=true
И проверь наличие git-lfs:
git lfs version
9) Кривые редиректы/URL в Gitea
Проверь ROOT_URL в app.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:
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.
Кратко: добавляется репозиторий download.docker.com, затем:
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.
- Пример для amd64 (подставьте версию и имя файла со страницы релиза):
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.
Проверка
docker compose version