75 lines
3.0 KiB
Markdown
75 lines
3.0 KiB
Markdown
# Gitea + OpenGist docker environment
|
||
|
||
Подробности: https://axenov.dev/gitea-to-docker
|
||
|
||
Стек:
|
||
- gitea (latest) + mariadb 10.6
|
||
- opengist (latest) + mariadb 10.6
|
||
|
||
## Порядок действий
|
||
|
||
## Для переноса сервисов
|
||
|
||
1. Клонировать репозиторий
|
||
2. Выполнить `cp .env.example .env` и указать корректные данные для подключения
|
||
3. Перенос Gitea с рабочего сервера:
|
||
1. Потушить сервер
|
||
2. Конфиг скопировать в `./gitea/app.ini` и скорректировать по необходимости
|
||
3. Снять дамп mysql и положить в `./gitea/dump.sql.gz`
|
||
4. Директорию с данными скопировать в `./gitea/data`
|
||
4. Перенос OpenGist с рабочего сервера:
|
||
1. Потушить сервер
|
||
2. Конфиг скопировать в `./opengist/opengist.yml` и скорректировать по необходимости
|
||
3. Снять дамп mysql и положить в `./opengist/dump.sql.gz`
|
||
4. Директорию с данными скопировать в `./opengist/data`
|
||
5. Убедиться, что `git` рекурсивно является владельцем `./`, если не -- `cd ..; chown -R git: gitea; cd -`
|
||
6. Запустить через `docker compose up -d --build`
|
||
7. Проверить логи через `docker logs -f ...`
|
||
8. Проверить веб-морды через `curl -i localhost:...`
|
||
|
||
Опционально, если есть домены:
|
||
|
||
9. Настроить nginx на хосте как реверс-прокси из внешки в контейнеры:
|
||
(поменять `server_name` и порты на свои)
|
||
1. `/etc/nginx/sites-available/gitea.conf`
|
||
```
|
||
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 / {
|
||
proxy_pass http://127.0.0.1:8080;
|
||
}
|
||
}
|
||
```
|
||
2. `/etc/nginx/sites-available/opengist.conf`
|
||
```
|
||
server {
|
||
listen 80;
|
||
listen [::]:80;
|
||
server_name gist.example.com
|
||
|
||
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;
|
||
}
|
||
}
|
||
```
|
||
3. Сделать линки и перезапустить `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
|
||
```
|
||
10. Проверить веб-морды по доменам через `curl -i ...`
|
||
11. Настроить SSL через `certbot`
|