Актуализирован 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 - gitea (latest) + mariadb 10.6
- opengist (latest) + mariadb 10.6 - opengist (latest) + mariadb 10.6
- git, docker, docker-compose-plugin; могут понадобиться ssh, scp, nginx, certbot, любой текстовый редактор
## Порядок действий ## Порядок действий
@@ -15,20 +15,23 @@
1. Клонировать репозиторий 1. Клонировать репозиторий
2. Выполнить `cp .env.example .env` и указать корректные данные для подключения 2. Выполнить `cp .env.example .env` и указать корректные данные для подключения
3. Перенос Gitea: 3. (Необязательно) Для переноса инстанса Gitea:
1. Потушить сервис (не сервер) 1. Потушить сервис (не сервер)
2. Скопировать существующий конфиг в `./gitea/app.ini` и скорректировать по необходимости 2. Выполнить `cp compose.override.yml.example compose.override.yml`
3. Снять дамп mysql и положить в `./gitea/dump.sql.gz` 3. Скопировать существующий конфиг в `./gitea/app.ini` и скорректировать по необходимости
4. Директории с данными скопировать в `./gitea/data` 4. Снять дамп mysql и положить в `./gitea/dump.sql.gz`
4. Перенос Gitea Runner: 5. Директории с данными скопировать в `./gitea/data`
4. (Необязательно) Для переноса инстанса Gitea Runner:
* Выполнить `cp compose.override.yml.example compose.override.yml`, если ещё не
* Скопировать старый конфиг в `./runner/config.yaml` и скорректировать по необходимости * Скопировать старый конфиг в `./runner/config.yaml` и скорректировать по необходимости
ИЛИ ИЛИ
* Выполнить `cp ./runner/config.example.yaml ./runner/config.yaml` и скорректировать по необходимости * Выполнить `cp ./runner/config.example.yaml ./runner/config.yaml` и скорректировать по необходимости
5. Перенос OpenGist: 5. (Необязательно) Для переноса инстанса OpenGist:
1. Потушить сервис (не сервер) 1. Потушить сервис (не сервер)
2. Скопировать существующий конфиг скопировать в `./opengist/opengist.yml` и скорректировать по необходимости 2. Выполнить `cp compose.override.yml.example compose.override.yml`
3. Снять дамп mysql и положить в `./opengist/dump.sql.gz` 3. Скопировать существующий конфиг скопировать в `./opengist/opengist.yml` и скорректировать по необходимости
4. Директории с данными скопировать в `./opengist/data` 4. Снять дамп mysql и положить в `./opengist/dump.sql.gz`
5. Директории с данными скопировать в `./opengist/data`
6. Убедиться, что владельцем `./` является юзер с `UID`=`1000`, если не -- `cd ..; chown -R 1000:1000 gitea; cd -` 6. Убедиться, что владельцем `./` является юзер с `UID`=`1000`, если не -- `cd ..; chown -R 1000:1000 gitea; cd -`
7. Запустить через `docker compose up -d --build` 7. Запустить через `docker compose up -d --build`
8. Проверить логи через `docker logs -f ...` 8. Проверить логи через `docker logs -f ...`
@@ -89,18 +92,20 @@ systemctl restart nginx
### Для деплоя с нуля ### Для деплоя с нуля
Всё то же, но шаги 3 и 5 можно опустить. Всё то же, но шаги 3-5 можно полностью пропустить.
## Gitea + ssh через хост ## Gitea + ssh через хост
Проблема в том, что порт openssh на хосте занят (по дефолту 22), пробросить порт напрямую из докера не получится. Если порт openssh на хосте занят (по дефолту 22), то пробросить порт напрямую из докера не получится.
1. Запомнить абсолютный путь до скрипта [./gitea/gitea.sh](./gitea/gitea.sh) (например, `/home/user/gitea/gitea/gitea.sh`) 1. Запомнить абсолютный путь до скрипта [./gitea/gitea.sh](./gitea/gitea.sh) (например, `/home/user/gitea/gitea/gitea.sh`)
2. Назначить его оболочкой для юзера `git` 2. Назначить его оболочкой для системного юзера `git`
```shell ```shell
usermod -s /home/user/gitea/gitea/gitea.sh git 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 ```shell
Match User git 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 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) ## Настройка 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/quickstart
* https://docs.gitea.com/usage/actions/act-runner * https://docs.gitea.com/usage/actions/act-runner