docs: migrate to Gitea over HTTPS when no SSH key on server
Made-with: Cursor
This commit is contained in:
+3
-1
@@ -10,10 +10,12 @@ GITEA_OWNER=your_gitea_user_or_org
|
||||
GITEA_OWNER_TYPE=user
|
||||
|
||||
# Push strategy
|
||||
# На своём ПК можно оставить true (SSH-ключ уже в Gitea).
|
||||
# Если скрипт запускается НА СЕРВЕРЕ с Gitea/root — ставьте false и задайте GITEA_USERNAME (ключ на сервере часто отсутствует).
|
||||
PUSH_WITH_SSH=true
|
||||
GITEA_SSH_HOST=git.papatramp.ru
|
||||
GITEA_SSH_PORT=2222
|
||||
# Required only for HTTPS push mode
|
||||
# Обязательно при PUSH_WITH_SSH=false — логин владельца в Gitea (пуш по HTTPS с GITEA_TOKEN как пароль)
|
||||
GITEA_USERNAME=your_gitea_username
|
||||
|
||||
# Optional behavior
|
||||
|
||||
@@ -262,6 +262,8 @@ ssh -T git-papatramp
|
||||
- делает `git clone --mirror` + `git push --mirror`;
|
||||
- умеет мигрировать LFS (опционально).
|
||||
|
||||
Пуш в Gitea по умолчанию идёт по **SSH**. Если скрипт запускается **на самом сервере Gitea** (или под `root`) и там **нет SSH-ключа**, добавленного в ваш аккаунт Gitea, будет `Permission denied (publickey)`. Тогда используйте пуш по HTTPS: **`export PUSH_WITH_SSH=false`** и **`export GITEA_USERNAME=`** ваш логин в Gitea (пароль — ваш **`GITEA_TOKEN`**).
|
||||
|
||||
Пример запуска:
|
||||
|
||||
```bash
|
||||
@@ -279,6 +281,7 @@ export GITEA_OWNER_TYPE='user' # или org
|
||||
export PUSH_WITH_SSH='true'
|
||||
export GITEA_SSH_HOST='git.papatramp.ru'
|
||||
export GITEA_SSH_PORT='2222'
|
||||
# При PUSH_WITH_SSH=false добавьте: export GITEA_USERNAME='ваш_логин_gitea'
|
||||
export MIGRATE_LFS='true'
|
||||
|
||||
./scripts/migrate-github-to-gitea.sh
|
||||
|
||||
@@ -259,3 +259,17 @@ dpkg -l | grep -E 'docker.io|docker-ce|containerd|compose'
|
||||
Gitea в Docker обычно слушает только **HTTP :3000**; **:443** пустой, пока не настроен TLS-прокси на хосте. При схеме из [`docs/haproxy-kalinamall.cfg`](haproxy-kalinamall.cfg) на узле Gitea должен слушать кто‑то **HTTPS на 443** (чаще **nginx** с вашим wildcard).
|
||||
|
||||
Пошаговая установка: **[`docs/gitea-nginx-https.md`](gitea-nginx-https.md)**.
|
||||
|
||||
## 14) Миграция GitHub → Gitea: `Permission denied (publickey)` при push
|
||||
|
||||
Скрипт [`migrate-github-to-gitea.sh`](../scripts/migrate-github-to-gitea.sh) по умолчанию делает **`git push`** в Gitea по **SSH**. На машине должен быть **SSH-ключ**, добавленный в ваш аккаунт Gitea. Если миграцию запускают на **сервере с Gitea** под **root**, своего ключа там обычно нет.
|
||||
|
||||
Сделайте пуш по **HTTPS** с токеном:
|
||||
|
||||
```bash
|
||||
export PUSH_WITH_SSH=false
|
||||
export GITEA_USERNAME='ваш_логин_в_Gitea'
|
||||
# GITEA_TOKEN уже с правами на репозитории
|
||||
```
|
||||
|
||||
См. также [.env.example](../.env.example) и раздел про миграцию в [`README.md`](../README.md).
|
||||
|
||||
@@ -3,6 +3,9 @@ set -euo pipefail
|
||||
|
||||
# Массовая миграция репозиториев GitHub -> Gitea.
|
||||
# Переносит всю git-историю через mirror push. Может переносить LFS (опционально).
|
||||
#
|
||||
# Пуш в Gitea: PUSH_WITH_SSH=true — нужен SSH-ключ на ЭТОЙ машине (добавлен в Gitea).
|
||||
# На сервере без ключа — PUSH_WITH_SSH=false и GITEA_USERNAME + GITEA_TOKEN (HTTPS).
|
||||
|
||||
: "${GITHUB_TOKEN:?Set GITHUB_TOKEN}"
|
||||
: "${GITHUB_OWNER:?Set GITHUB_OWNER (user or org on GitHub)}"
|
||||
|
||||
Reference in New Issue
Block a user