Что такое 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 в фоновом режиме. Первый запуск может занять несколько минут.
После запуска, откройте веб-браузер и введите адрес http://server-ip:3000
для доступа к веб-интерфейсу gitea. Вы должны увидеть страницу входа в систему. Заполните все необходимые поля согласно вашей конфигурации. В поле Server Domain обязательно укажите IP адрес либо доменное имя которое направлено на ваш сервер.
В случаи если при установке вы указали неверные значения то вы можете их изменить в главном файле конфигурации gitea который находится в /data/gitea/conf/app.ini
По-умолчанию база данных используется SQLite, при необходимости вы можете выбрать и настроить MySQL либо PostgresSQL.
В Administrator Account Settings обязательно укажите имя пользователя и пароль для учетной записи администратора.
После установки 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