Перейти к содержанию

Обзор развертывания Gitea на сервере

Предварительные требования

Для корректной работы приложения должны быть соблюдены следующие условия:

  • Операционная система: Ubuntu.

  • Права доступа: Права суперпользователя (root) для установки пакетов и управления контейнерами.

  • Порты:

  • 3000 — внутренний порт приложения.

  • 222 — SSH порт для Git-операций.

  • 443 — внешний HTTPS порт.

FDQN итоговой панели на домене hostkey.in

Для доступа к приложению по защищенному протоколу используется следующий шаблон доменного имени:

Параметр Значение
Префикс gitea
Домен hostkey.in
Полный шаблон gitea{Server_ID_from_Invapi}.hostkey.in

Структура файлов и каталогов

В системе используются следующие директории для хранения данных и конфигураций:

  • /opt/gitea — рабочая директория приложения и файл конфигурации Docker Compose.

  • /srv/gitea — основное хранилище данных Gitea.

  • /root/nginx — конфигурация прокси-сервера для управления SSL-сертификатами.

  • /data/nginx/user_conf.d — пользовательские конфигурационные файлы Nginx.

Процесс установки приложения

Процесс развертывания включает в себя несколько этапов:

  1. Подготовка системы: Установка Docker и Docker Compose через пакетный менеджер apt.

  2. Настройка окружения:

  3. Создание необходимых директорий (/opt/gitea, /srv/gitea).

  4. Настройка часового пояса сервера на Europe/Moscow (через создание символьной ссылки в /etc/localtime и обновление /etc/timezone).

  5. Развертывание контейнера: Запуск основного сервиса Gitea с использованием Docker Compose.

  6. Настройка проксирования: Создание конфигурации Nginx для автоматического получения SSL-сертификатов через Certbot и перенаправление трафика на внутренний порт приложения.

Версия приложения: 1.22.2.

Права доступа и безопасность

  • Все данные в директории /srv/gitea принадлежат пользователю root.

  • Контейнер Gitea запускается с параметрами пользователя UID 1000 и GID 1000 внутри среды выполнения.

  • Директория конфигураций Nginx имеет права доступа 0755.

Базы данных

Приложение использует встроенные механизмы хранения данных, которые монтируются в объем (volume) по пути /data внутри контейнера и физически располагаются на хосте в директории /srv/gitea.

Контейнеры Docker и их запуск

В системе работают два основных компонента:

Gitea Server

  • Имя образа: gitea/gitea:1.22.2

  • Имя контейнера: gitea

  • Порты:

  • 3000 -> 3000 (HTTP)

  • 222 -> 22 (SSH)

  • Тома (volumes):

  • /srv/gitea:/data

  • /etc/timezone:/etc/timezone:ro

  • /etc/localtime:/etc/localtime:ro

  • Переменные окружения: USER_UID=1000, USER_GID=1000

  • Политика перезапуска: always

Nginx Certbot Proxy

  • Имя образа: jonasal/nginx-certbot:latest

  • Режим сети: host

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d

  • Переменные окружения: CERTBOT_EMAIL=hkadm@hostkey.com

  • Политика перезапуска: unless-stopped

Инструкция по обновлению приложения

Для обновления основного приложения Gitea необходимо выполнить следующие действия:

  1. Перейти в рабочую директорию: cd /opt/gitea.

  2. Выполнить обновление образов и перезапуск контейнера:

    docker compose pull && docker compose up -d
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×