Актуализирован README

This commit is contained in:
2025-09-24 11:18:53 +08:00
parent cd691e8f5e
commit eb9d44a3c7

View File

@@ -5,9 +5,9 @@
Ниже краткая выжимка этого поста.
Стек:
- git, ssh, scp, nginx, certbot, docker, docker-compose-plugin, любой текстовый редактор
- gitea (latest) + mariadb 10.6
- opengist (latest) + mariadb 10.6
- git, docker, docker-compose-plugin; могут понадобиться ssh, scp, nginx, certbot, любой текстовый редактор
## Порядок действий
@@ -15,20 +15,23 @@
1. Клонировать репозиторий
2. Выполнить `cp .env.example .env` и указать корректные данные для подключения
3. Перенос Gitea:
3. (Необязательно) Для переноса инстанса Gitea:
1. Потушить сервис (не сервер)
2. Скопировать существующий конфиг в `./gitea/app.ini` и скорректировать по необходимости
3. Снять дамп mysql и положить в `./gitea/dump.sql.gz`
4. Директории с данными скопировать в `./gitea/data`
4. Перенос Gitea Runner:
2. Выполнить `cp compose.override.yml.example compose.override.yml`
3. Скопировать существующий конфиг в `./gitea/app.ini` и скорректировать по необходимости
4. Снять дамп mysql и положить в `./gitea/dump.sql.gz`
5. Директории с данными скопировать в `./gitea/data`
4. (Необязательно) Для переноса инстанса Gitea Runner:
* Выполнить `cp compose.override.yml.example compose.override.yml`, если ещё не
* Скопировать старый конфиг в `./runner/config.yaml` и скорректировать по необходимости
ИЛИ
* Выполнить `cp ./runner/config.example.yaml ./runner/config.yaml` и скорректировать по необходимости
5. Перенос OpenGist:
5. (Необязательно) Для переноса инстанса OpenGist:
1. Потушить сервис (не сервер)
2. Скопировать существующий конфиг скопировать в `./opengist/opengist.yml` и скорректировать по необходимости
3. Снять дамп mysql и положить в `./opengist/dump.sql.gz`
4. Директории с данными скопировать в `./opengist/data`
2. Выполнить `cp compose.override.yml.example compose.override.yml`
3. Скопировать существующий конфиг скопировать в `./opengist/opengist.yml` и скорректировать по необходимости
4. Снять дамп mysql и положить в `./opengist/dump.sql.gz`
5. Директории с данными скопировать в `./opengist/data`
6. Убедиться, что владельцем `./` является юзер с `UID`=`1000`, если не -- `cd ..; chown -R 1000:1000 gitea; cd -`
7. Запустить через `docker compose up -d --build`
8. Проверить логи через `docker logs -f ...`
@@ -89,18 +92,20 @@ systemctl restart nginx
### Для деплоя с нуля
Всё то же, но шаги 3 и 5 можно опустить.
Всё то же, но шаги 3-5 можно полностью пропустить.
## Gitea + ssh через хост
Проблема в том, что порт openssh на хосте занят (по дефолту 22), пробросить порт напрямую из докера не получится.
Если порт openssh на хосте занят (по дефолту 22), то пробросить порт напрямую из докера не получится.
1. Запомнить абсолютный путь до скрипта [./gitea/gitea.sh](./gitea/gitea.sh) (например, `/home/user/gitea/gitea/gitea.sh`)
2. Назначить его оболочкой для юзера `git`
2. Назначить его оболочкой для системного юзера `git`
```shell
usermod -s /home/user/gitea/gitea/gitea.sh git
```
3. Создать конфиг `/etc/ssh/sshd_config.d/gitea.conf` следующее:
4. Создать конфиг `/etc/ssh/sshd_config.d/gitea.conf` следующее:
```shell
Match User git
@@ -108,7 +113,7 @@ systemctl restart nginx
AuthorizedKeysCommand /usr/bin/docker exec -i gitea /usr/local/bin/gitea keys -e git -u %u -t %t -k %k
```
4. Перезапустить демона через `systemctl restart sshd`
5. Перезапустить демона через `systemctl restart sshd`
## Настройка Gitea Actions (runner)
@@ -154,5 +159,6 @@ container:
```
Доп. информация:
* https://axenov.dev/gitea-to-docker
* https://docs.gitea.com/usage/actions/quickstart
* https://docs.gitea.com/usage/actions/act-runner