fbpx
Перейти к содержимому

Установка и настройка Gitea в Docker контейнере: руководство для разработчиков и DevOps специалистов.

Что такое Gitea?

Gitea — это бесплатная и открытая система управления репозиториями Git, которая может быть легко установлена и запущена в docker контейнере. Gitea предоставляет удобный интерфейс веб-приложения для управления вашими Git-репозиториями и различными аспектами их разработки. Gitea может использоваться как локально, так и в облачном режиме.

Почему использовать Gitea в docker контейнере?

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

Для установки Gitea в Docker, на вашем сервере уже должен быть установлен Docker и docker-compose. Подробнее о том как произвести установку Docker + docker-compose + Portainer вы можете прочитать в данной статье.

Создание файлов конфигурации

Cоздайте папку, где будет храниться конфигурационный файл docker-compose.yml и другие файлы, связанные с gitea.

Создайте файл docker-compose.yml с помощью текстового редактора и вставьте следующий код:

version: "3"

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    restart: always
    environment:
      - USER_UID=1000
      - USER_GID=1000
    volumes:
      - ./data:/data
      - ./custom:/app/gitea/custom
      - ./log:/app/gitea/log
    ports:
      - "3000:3000"
      - "2222:22"

Здесь:

  • image: gitea/gitea:latest указывает, что вы хотите использовать последнюю версию gitea, доступную в Docker Hub.
  • container_name: gitea задает имя контейнера Docker.
  • restart: always автоматически перезапускает контейнер при его остановке.
  • environment: - USER_UID=1000 - USER_GID=1000 задает пользовательский идентификатор и группу, которые используются в контейнере.
  • volumes: - ./data:/data - ./custom:/app/gitea/custom - ./log:/app/gitea/log определяет местоположение на жестком диске, где будут храниться данные gitea (./data), пользовательские файлы конфигурации (./custom) и журналы (./log).
  • ports: - "3000:3000" - "2222:22" задает порты, которые будут использоваться для доступа к gitea. Первый порт (3000) используется для веб-интерфейса, а второй порт (2222) используется для доступа к репозиторию через SSH.

Запуск контейнера с Gitea

Перейдите в директорию, где находится файл docker-compose.yml.

Запустите контейнер с помощью команды:

docker-compose up -d

Это запустит контейнер gitea в фоновом режиме. Первый запуск может занять несколько минут.

gitea окно настройки

После запуска, откройте веб-браузер и введите адрес http://server-ip:3000 для доступа к веб-интерфейсу gitea. Вы должны увидеть страницу входа в систему. Заполните все необходимые поля согласно вашей конфигурации. В поле Server Domain обязательно укажите IP адрес либо доменное имя которое направлено на ваш сервер.

В случаи если при установке вы указали неверные значения то вы можете их изменить в главном файле конфигурации gitea который находится в /data/gitea/conf/app.ini

По-умолчанию база данных используется SQLite, при необходимости вы можете выбрать и настроить MySQL либо PostgresSQL.

gitea создание администратора

В Administrator Account Settings обязательно укажите имя пользователя и пароль для учетной записи администратора.

После установки Gitea мы можем приступить к созданию нашего первого репозитория.

Использование gitea

gitea создание репозитория

Чтобы создать новый репозиторий, выберите в меню «Create a New Repository» и введите имя и описание репозитория.

Для клонирования репозитория с помощью SSH, необходимо использовать порт 2222 и команду git clone ssh://<адрес_вашего_сервера>:2222/<имя_пользователя>/<имя_репозитория>.git

Чтобы сохранить данные gitea при перезапуске или удалении контейнера, необходимо сохранить данные, которые находятся в папке ./data.

Это все! Теперь у вас установлена Gitea на собственном сервере в Docker контейнере.

Обновление Gitea в Docker

Перед обновлением Gitea обязательно сделайте резервную копию вашей директории data. Для обновления перейдем в директорию в которой у нас находится файл docker-compose и выполним команду

docker-compose pull
docker-compose up -d