Files
second-mind-aep/⚙️ Техническое/🖥️ Серверы/Git Service/Обзор системы.md
Andrey Epifancev e96fec3709 Реорганизация структуры заметок v2.0
- Создана новая организационная структура с эмодзи-папками
- Добавлена система Inbox для быстрого захвата идей
- Созданы шаблоны для всех типов заметок с YAML метаданными
- Перенесен весь контент из старой структуры в новую
- Добавлен главный дашборд с динамическими запросами
- Создано подробное руководство по использованию системы
- Техническая документация реорганизована по типам

Основные улучшения:
 Inbox-first подход для новых заметок
 Тематическая организация по 8 областям знаний
 Шаблоны с метаданными для структурированности
 Система связей между заметками
 Динамические дашборды с аналитикой
 Централизованная техническая документация без дублирования
2025-08-09 22:11:50 +04:00

7.1 KiB
Raw Blame History

Описание

Git Service - отдельный сервис на базе Gitea, обеспечивающий централизованное хранение кода и заметок. Работает независимо от других сервисов и предоставляет Git-интерфейс для всех проектов в экосистеме aepif.ru.

Архитектура системы

graph TB
    A[Users] --> B[Traefik Proxy]
    B --> C[Gitea Web Interface]
    C --> D[Git Repositories]
    C --> E[PostgreSQL Database]
    F[SSH Clients] --> G[Gitea SSH:2222]
    G --> D
    
    subgraph "Git Service Container"
        C
        D
    end
    
    subgraph "Database Container"
        E
    end
    
    H[Webhook Consumers] --> C
    C --> I[Webhook Notifications]

Основные компоненты

Gitea Server

  • Назначение: Web-интерфейс для управления Git-репозиториями
  • Домен: git.aepif.ru
  • Технология: Gitea (Go-based Git service)
  • Особенности:
    • Web-интерфейс для просмотра кода
    • Issue tracking
    • Pull/Merge requests
    • Webhook notifications
    • User management

PostgreSQL Database

  • Назначение: Хранение метаданных Gitea
  • Технология: PostgreSQL 14
  • Данные:
    • Информация о пользователях
    • Метаданные репозиториев
    • Issues и комментарии
    • Настройки системы

SSH Access

  • Порт: 2222 (внешний доступ)
  • Назначение: Git operations через SSH
  • Особенности: Отдельный порт для избежания конфликтов

Конфигурация

Docker Compose

services:
  gitea:
    image: gitea/gitea:latest
    environment:
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__server__SSH_DOMAIN=git.aepif.ru
      - GITEA__server__SSH_PORT=2222
    networks:
      - proxy  # Подключение к Traefik
      - default

Traefik Labels

  • HTTP routing: git.aepif.ru → port 3000
  • TCP routing: SSH на порту 2222
  • SSL: Автоматические сертификаты

Репозитории

Активные репозитории

  • second-mind-aep: Заметки для Second Mind
  • configs: Конфигурационные файлы сервера
  • scripts: Вспомогательные скрипты

Структура URL

  • HTTP Clone: https://git.aepif.ru/username/repo.git
  • SSH Clone: git@git.aepif.ru:username/repo.git
  • Internal URL: http://gitea:3000/username/repo.git

Интеграции

Webhook Integration

  • Second Mind: автоматическая пересборка при push
  • CI/CD: потенциальная интеграция с системами автоматизации
  • Notifications: уведомления в внешние системы

Authentication

  • Bypass Authelia: Собственная система аутентификации Gitea
  • Local Users: Управление пользователями внутри Gitea
  • SSH Keys: Управление SSH ключами для каждого пользователя

Домены и доступ

Протокол Endpoint Описание Порт
HTTPS git.aepif.ru Web-интерфейс Gitea 443
SSH git.aepif.ru:2222 Git SSH operations 2222
HTTP gitea:3000 Internal container access 3000

Workflow использования

Веб-интерфейс

  1. Доступ через git.aepif.ru
  2. Аутентификация с помощью логина/пароля Gitea
  3. Управление репозиториями через Web UI
  4. Настройка webhooks для автоматизации

Git Operations

# SSH клонирование
git clone git@git.aepif.ru:2222/username/repo.git

# HTTPS клонирование  
git clone https://git.aepif.ru/username/repo.git

# Push изменений
git push origin main

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

/DOCKER/git/
├── docker-compose.yml    # Конфигурация Gitea + PostgreSQL
└── volumes/
    ├── gitea_data/      # Данные Gitea (repos, config)
    └── postgres_data/   # База данных PostgreSQL

Безопасность

Уровни защиты

  • SSL/TLS: Все HTTPS соединения зашифрованы
  • SSH Keys: Аутентификация по ключам для Git operations
  • User Management: Контроль доступа на уровне пользователей
  • Repository Permissions: Детальные права доступа к репозиториям

Backup Strategy

  • Database: Регулярные дампы PostgreSQL
  • Repositories: Backup директории gitea_data
  • External Mirrors: Синхронизация с внешними Git-сервисами

Мониторинг

Доступные метрики

  • Repository Usage: Размер и активность репозиториев
  • User Activity: Статистика commits, pushes, pulls
  • System Health: Состояние базы данных и сервиса

Health Checks

# Проверка веб-интерфейса
curl -I https://git.aepif.ru

# Проверка SSH доступа
ssh -T git@git.aepif.ru -p 2222

# Проверка контейнеров
docker ps | grep gitea

Администрирование

Создание пользователей

  1. Доступ к админ-панели Gitea
  2. User Management → Create User
  3. Настройка прав доступа

Настройка репозиториев

  1. Создание репозитория через Web UI
  2. Настройка webhooks для интеграций
  3. Управление коллаборацией

Обновления

# Обновление образа
docker-compose pull
docker-compose up -d

# Проверка версии
docker exec gitea gitea --version

Связанные сервисы

Связанные документы