🚀 Установка Gitea на Ubuntu 24.04 с Docker: Собственный GitHub за 15 минут! (Полный гайд 2025)

🚀 Установка Gitea на Ubuntu 24.04 с Docker: Собственный GitHub за 15 минут! (Полный гайд 2025)

Привет, кодеры и self-хостеры! 👋 Представь свой личный GitHub без подписок, слежки и лимитов. В 2025 году self-hosting взрывается — рынок растёт на 18.5% ежегодно, а Gitea лидирует как лёгкая альтернатива GitHub (1.66% dev-сайтов уже на нём!). Почему? GitHub тренировал Copilot на твоих приватных репах без спроса. Хватит кормить корпорации — запусти свой Git-сервер за чашкой чая! ☕

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

В этом руководстве мы развернем Gitea на Ubuntu 24.04 с использованием Docker Compose. Это займет не более 15 минут.

Что вам понадобится

  • Сервер с Ubuntu 24.04 (Рекомендую этот хостинг).
  • Установленные Docker и Docker Compose (процесс установки описан ниже).
  • Базовые знания работы с командной строкой.
  • Доменное имя (рекомендуется для настройки SSL).
  • Удобный браузер (на усмотрение)

Шаг 1: Подготовка сервера и настройка безопасности
Для начала подключитесь к вашему серверу по SSH.

Обновите системные пакеты:

sudo apt update && sudo apt upgrade -y

Создайте нового пользователя (работа от root не рекомендуется):

adduser gituser
usermod -aG sudo gituser

Настройте базовый фаервол UFW, разрешив необходимые порты:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp   # HTTP
sudo ufw allow 443/tcp  # HTTPS
sudo ufw allow 222/tcp  # SSH для Gitea (альтернативный порт)
sudo ufw enable

Шаг 2: Установка Docker и Docker Compose
Установим Docker из официальных репозиториев.

# Устанавливаем необходимые пакеты
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

# Добавляем официальный GPG-ключ Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Добавляем репозиторий Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Устанавливаем Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

# Добавляем вашего пользователя в группу docker
sudo usermod -aG docker $USER
newgrp docker

# Устанавливаем Docker Compose Plugin
sudo apt install docker-compose-plugin -y

Проверьте установку: docker compose version.

Шаг 3: Запуск Gitea с помощью Docker Compose
Создадим директорию для проекта и файл docker-compose.yml.

Создайте структуру папок и перейдите в нее:

mkdir ~/gitea && cd ~/gitea

Создайте файл docker-compose.yml 

nano docker-compose.yml 

со следующим содержимым. Это стандартная конфигурация с PostgreSQL в качестве базы данных.

version: "3"
networks:
  gitea:
    external: false

services:
  server:
    image: docker.gitea.com/gitea:1.25.0
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea # Обязательно смените этот пароль!
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: docker.io/library/postgres:14
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=gitea # Обязательно смените этот пароль!
      - POSTGRES_DB=gitea
    networks:
      - gitea
    volumes:
      - ./postgres:/var/lib/postgresql/data

Запустите стек командой:

docker compose up -d

Проверить логи можно так:

docker compose logs -f

Теперь Gitea доступен по адресу http://ВАШ_IP_СЕРВЕРА:3000.

Шаг 4: Первоначальная настройка и SSL
Перейдите по адресу в браузере, и откроется мастер первоначальной настройки.

  • База данных: Выберите PostgreSQL. Настройки подключения уже подставлены из docker-compose.yml (хост db, имя базы gitea и т.д.).
  • Общие настройки: Укажите домен вашего сервера (если есть) и SSH-порт 222.
  • Администратор: Задайте логин и пароль для учетной записи администратора.

Важно: Настройка HTTPS
Для работы по безопасному соединению обязательно настройте SSL. Самый простой способ — использовать обратный прокси, например, Nginx с Certbot для получения бесплатного сертификата от Let’s Encrypt.

Шаг 5: Тестирование
Создайте новый репозиторий в веб-интерфейсе Gitea. Затем выполните на своей локальной машине:

git clone http://ВАШ_IP_СЕРВЕРА:3000/ваш_пользователь/ваш_репозиторий.git
cd ваш_репозиторий
echo "# Мой первый репозиторий на Gitea" > README.md
git add README.md
git commit -m "Добавлен README"
git push -u origin main

Обновите страницу в браузере — вы должны увидеть ваш коммит.

Резервное копирование
Не пренебрегайте бэкапами! Для создания резервной копии достаточно архивировать папки gitea и postgres в вашей рабочей директории.

# Остановите сервисы
docker compose down

# Создайте архив
tar -czf gitea-backup-$(date +%s).tar.gz ./gitea ./postgres

# Запустите сервисы снова
docker compose up -d

Настройте регулярное выполнение этого скрипта через cron.

Поздравляем! Вы только что развернули свой собственный, быстрый и приватный Git-хостинг. Теперь вы полностью контролируете свои репозитории и данные.

Если у вас остались вопросы — задавайте их в комментариях!

Оставить комментарий

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

Что будем искать? Например,Интернет

Мы в социальных сетях