2025-02-19 11:47:50 +08:00
2025-02-19 11:47:50 +08:00
2025-02-19 11:47:50 +08:00
2025-02-19 11:47:50 +08:00
2025-02-20 09:17:38 +08:00
2025-02-20 09:17:53 +08:00

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:...

Опционально, если есть домены:

  1. Настроить 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;
        }
    }
    
    1. /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;
        }
    }
    
    1. Сделать линки и перезапустить nginx
    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
    
  2. Проверить веб-морды по доменам через curl -i ...
  3. Настроить SSL через certbot
Description
Docker-окружение для запуска Gitea + Opengist
https://axenov.dev/gitea-to-docker Readme 92 KiB
Languages
Shell 100%