Актуализирован README, шаблон конфига gitea
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,4 +1,4 @@
|
||||
/gitea/*.ini
|
||||
/gitea/app.ini
|
||||
/gitea/data/
|
||||
|
||||
/runner/*.yaml
|
||||
@@ -17,7 +17,6 @@
|
||||
*.sql
|
||||
*.sql.*
|
||||
*.log
|
||||
*.ini
|
||||
*dump*
|
||||
*backup*
|
||||
|
||||
|
||||
145
README.md
145
README.md
@@ -14,89 +14,95 @@
|
||||
### Для переноса сервисов с другого сервера
|
||||
|
||||
1. Клонировать репозиторий
|
||||
2. Выполнить `cp .env.example .env` и указать корректные данные для подключения
|
||||
3. (Необязательно) Для переноса инстанса Gitea:
|
||||
1. Потушить сервис (не сервер)
|
||||
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:
|
||||
1. Потушить сервис (не сервер)
|
||||
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 ...`
|
||||
9. Проверить веб-морды через `curl -I localhost:...`
|
||||
2. Выполнить `cp ./.env.example ./.env` и указать корректные данные для подключения
|
||||
3. Создать пользователя git, подробности [описаны в блоге](https://axenov.dev/gitea-to-docker)
|
||||
4. Выполнить `cp ./gitea/app.example.ini ./gitea/app.ini` и указать необходимые настройки
|
||||
**ИЛИ**
|
||||
- (Необязательно) Для переноса инстанса Gitea:
|
||||
- Потушить сервис (не сервер)
|
||||
- Выполнить `cp ./compose.override.yml.example ./compose.override.yml`
|
||||
- Скопировать существующий конфиг в `./gitea/app.ini` и скорректировать по необходимости
|
||||
- Снять дамп mysql и положить в `./gitea/dump.sql.gz`
|
||||
- Директории с данными скопировать в `./gitea/data`
|
||||
- (Необязательно) Для переноса инстанса Gitea Runner:
|
||||
- Выполнить `cp ./compose.override.yml.example ./compose.override.yml`, если ещё не
|
||||
- Скопировать старый конфиг в `./runner/config.yaml` и скорректировать по необходимости
|
||||
**ИЛИ**
|
||||
- Выполнить `cp ./runner/config.example.yaml ./runner/config.yaml` и скорректировать по необходимости
|
||||
- (Необязательно) Для переноса инстанса OpenGist:
|
||||
- Потушить сервис (не сервер)
|
||||
- Выполнить `cp ./compose.override.yml.example ./compose.override.yml`, если ещё не
|
||||
- Скопировать существующий конфиг скопировать в `./opengist/opengist.yml` и скорректировать по необходимости
|
||||
- Снять дамп mysql и положить в `./opengist/dump.sql.gz`
|
||||
- Директории с данными скопировать в `./opengist/data`
|
||||
1. Убедиться, что владельцем `./` является юзер с `UID`/`GID`=`1000`, если нет -- `chown -R 1000:1000 ./`
|
||||
2. Запустить через `docker compose up -d --build`
|
||||
3. Проверить логи через `docker logs -f ...`
|
||||
4. Проверить веб-морды через `curl -I localhost:...`
|
||||
5. (Необязательно) Если есть домены:
|
||||
- Настроить nginx на хосте как реверс-прокси из внешки в контейнеры:
|
||||
(поменять `server_name` и порты на свои)
|
||||
|
||||
Опционально, если есть домены:
|
||||
<details>
|
||||
<summary>Файл: /etc/nginx/sites-available/gitea.conf</summary>
|
||||
|
||||
10. Настроить nginx на хосте как реверс-прокси из внешки в контейнеры: (поменять `server_name` и порты на свои)
|
||||
```
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name git.example.com
|
||||
|
||||
Файл: `/etc/nginx/sites-available/gitea.conf`
|
||||
access_log /var/log/nginx/gitea-access.log;
|
||||
error_log /var/log/nginx/gitea-error.log;
|
||||
client_max_body_size 100M;
|
||||
|
||||
```
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name git.example.com
|
||||
|
||||
access_log /var/log/nginx/gitea-access.log;
|
||||
error_log /var/log/nginx/gitea-error.log;
|
||||
client_max_body_size 100M;
|
||||
|
||||
location / {
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8080;
|
||||
}
|
||||
}
|
||||
```
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Файл: `/etc/nginx/sites-available/opengist.conf`
|
||||
</details>
|
||||
|
||||
```
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name gist.example.com
|
||||
<details>
|
||||
<summary>Файл: /etc/nginx/sites-available/opengist.conf</summary>
|
||||
|
||||
access_log /var/log/nginx/opengist-access.log;
|
||||
error_log /var/log/nginx/opengist-error.log;
|
||||
client_max_body_size 100M;
|
||||
```
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name gist.example.com
|
||||
|
||||
location / {
|
||||
access_log /var/log/nginx/opengist-access.log;
|
||||
error_log /var/log/nginx/opengist-error.log;
|
||||
client_max_body_size 100M;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8081;
|
||||
}
|
||||
}
|
||||
```
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
Сделать линки и перезапустить `nginx`
|
||||
- Сделать линки и перезапустить `nginx`
|
||||
|
||||
```shell
|
||||
ln -s /etc/nginx/sites-available/gitea.conf /etc/nginx/sites-enabled/gitea.conf
|
||||
ln -s /etc/nginx/sites-available/opengist.conf /etc/nginx/sites-enabled/opengist.conf
|
||||
unlink /etc/nginx/sites-enabled/default
|
||||
systemctl restart nginx
|
||||
```
|
||||
```shell
|
||||
ln -s /etc/nginx/sites-available/gitea.conf /etc/nginx/sites-enabled/gitea.conf
|
||||
ln -s /etc/nginx/sites-available/opengist.conf /etc/nginx/sites-enabled/opengist.conf
|
||||
unlink /etc/nginx/sites-enabled/default
|
||||
systemctl restart nginx
|
||||
```
|
||||
|
||||
11. Переключить DNS на новый IP
|
||||
12. Проверить веб-морды по доменам через `curl -i ...`
|
||||
13. Настроить SSL через `certbot`
|
||||
- Переключить DNS на новый IP
|
||||
- Проверить веб-морды по доменам через `curl -i ...`
|
||||
- (Необязательно) Настроить SSL через `certbot`
|
||||
|
||||
### Для деплоя с нуля
|
||||
## Gitea + ssh через хостовый порт
|
||||
|
||||
Всё то же, но шаги 3-5 можно полностью пропустить.
|
||||
Если порт openssh на хосте занят (по дефолту 22), то пробросить его же напрямую из докера не получится.
|
||||
|
||||
## Gitea + ssh через хост
|
||||
|
||||
Если порт openssh на хосте занят (по дефолту 22), то пробросить порт напрямую из докера не получится.
|
||||
Поэтому предлагается использовать порт 222 или другой (`GITEA_HOST_SSH_PORT`)
|
||||
|
||||
1. Запомнить абсолютный путь до скрипта [./gitea/gitea.sh](./gitea/gitea.sh) (например, `/home/user/gitea/gitea/gitea.sh`)
|
||||
2. Назначить его оболочкой для системного юзера `git`
|
||||
@@ -152,13 +158,14 @@ time="2025-04-08T02:14:17Z" level=info msg="runner: gitea-runner, with version:
|
||||
Если во время выполнения экшена `actions/checkout@v4` возникает ошибка `Could not resolve host`, то в конфиге `./runner/config.yaml` надо указать имя сети:
|
||||
|
||||
```yaml
|
||||
#...
|
||||
container:
|
||||
network: "gitea_network"
|
||||
#...
|
||||
```
|
||||
|
||||
Доп. информация:
|
||||
* https://axenov.dev/gitea-to-docker
|
||||
* https://docs.gitea.com/installation/install-with-docker-rootless
|
||||
* https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini
|
||||
* https://docs.gitea.com/administration/config-cheat-sheet
|
||||
* https://docs.gitea.com/usage/actions/quickstart
|
||||
* https://docs.gitea.com/usage/actions/act-runner
|
||||
|
||||
2854
gitea/app.example.ini
Normal file
2854
gitea/app.example.ini
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user