Перейти к содержимому
Главная страница » Запуск Gitea в Docker

Запуск Gitea в Docker

Контроль версий — это ключевой инструмент для управления кодом и обмена им. Gitea — это бесплатный сервис Git с открытым исходным кодом, написанный на Go. Это лёгкая и простая в использовании альтернатива другим платформам Git. Он включает в себя простой интерфейс, отслеживание проблем и хорошо сочетается с популярными функциями Git.

Настройка системы

В этом руководстве я покажу вам, как настроить Git-сервер в Ubuntu с помощью Gitea и Docker. В итоге у вас будет собственный Git-сервер, готовый для личного или командного использования.

Перед установкой новых пакетов, нужно обновить существующие:

sudo apt update -y

Следующая команда создаст системного пользователя с именем «git» с определённым домашним каталогом и без пароля, что идеально подходит для размещения сервера Git без необходимости доступа к другим частям вашей системы.

sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git

Получим вывод:

Добавляется системный пользователь «git» (UID 102) ...
Добавляется новая группа «git» (GID 109) ...
Добавляется новый пользователь «git» (UID 102) в группу «git» ...
Создаётся домашний каталог «/home/git» ...

После выполнения приведенной ниже команды мы сохраняем значения UID и GID, так как будем использовать их в файле docker-compose.yml:

Далее нужно создать каталог, в котором будет установлена Gitea и будут храниться её файлы. Этот каталог будет служить домом для вашего экземпляра Gitea, что позволит вам легко управлять его данными и конфигурацией. Следующие команды создадут каталог и переведут в него:

mkdir ~/gitea
cd ~/gitea

Docker-compose Gitea

Теперь, когда вы находитесь в каталоге Gitea, следующим шагом будет создание и редактирование файла docker-compose.yml. В этом файле будут определены контейнеры Docker, необходимые для запуска вашего Git-сервера. Чтобы создать и открыть этот файл в текстовом редакторе, используйте следующую команду:

nano docker-compose.yml

В файле docker-compose.yml вы зададите конфигурацию для службы Gitea, включая образ Docker, сетевые настройки, переменные среды и сопоставления томов. Следующая конфигурация настроит Gitea с необходимыми параметрами среды, сетевыми настройками и сопоставлениями томов, а также откроет соответствующие порты для доступа к веб-интерфейсу Gitea и SSH.

После добавления конфигурации сохраните и закройте файл. Не забудьте заменить параметры <YOUR UID> и <YOUR GID> в файле docker-compose.yml на свои, полученные при создании пользователя git.

version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=<YOUR UID>
      - USER_GID=<YOUR GID>
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /home/git/.ssh/:/data/git/.ssh
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "2222:22"

Сохраним файл Ctrl + O и выйдем из редактора Ctrl + X.

Чтобы запустить службу Gitea, указанную в файле docker-compose.yml:

docker-compose up -d

После этого вы сможете получить доступ к своему Gitea-серверу, как показано ниже:

http://<your-ip>:3000/

Доступ к Gitea

Теперь вы готовы завершить настройку Gitea. 

Следующий шаг — получить доступ к веб-интерфейсу Gitea (IP-адресу сервера) через браузер.

При входе в интерфейс вы увидите страницу начальной настройки, как показано ниже.

Здесь вы можете изменить название сайта и просмотреть различные настройки. Я продолжаю пользоваться кнопкой «Установить Gitea», не меняя никаких настроек.

После завершения установки вы увидите страницу входа/регистрации. Пользователь, зарегистрировавшийся после первой установки, является пользователем с правами администратора.

Теперь вы завершили настройку вашей собственной системы контроля версий.

Дополнительная настройка для регистрации

Если вы хотите закрыть доступ к разделу регистрации и разрешить только пользователям с правами администратора создавать учётные записи и только этим пользователям получать доступ к системе, вы можете воспользоваться приведённой ниже инструкцией.

Вам нужно настроить файл app.ini в Gitea. С помощью приведенной ниже команды вы можете получить доступ к файлу app.ini:

nano ~/gitea/gitea/gitea/conf/app.ini

После доступа к этому файлу вы должны установить для параметра DISABLE_REGISTRATION значение true.

[service]
DISABLE_REGISTRATION = true

Затем мы перезапускаем наш контейнер docker, чтобы применить наши изменения.

docker restart gitea

При попытке получить доступ к странице регистрации мы увидим предупреждение.

В этом руководстве мы описали процесс настройки собственного Git-сервера с помощью Gitea и Docker, а также Nginx в системе Ubuntu. Выполнив эти действия, вы получите полностью работоспособный экземпляр Gitea, адаптированный под ваши нужды. Если у вас возникнут какие-либо проблемы или потребуется дополнительная настройка, документация Gitea и ресурсы сообщества станут ценными инструментами, которые помогут вам получить максимальную отдачу от вашей настройки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *