✨ Реорганизация структуры заметок v2.0
- Создана новая организационная структура с эмодзи-папками - Добавлена система Inbox для быстрого захвата идей - Созданы шаблоны для всех типов заметок с YAML метаданными - Перенесен весь контент из старой структуры в новую - Добавлен главный дашборд с динамическими запросами - Создано подробное руководство по использованию системы - Техническая документация реорганизована по типам Основные улучшения: ✅ Inbox-first подход для новых заметок ✅ Тематическая организация по 8 областям знаний ✅ Шаблоны с метаданными для структурированности ✅ Система связей между заметками ✅ Динамические дашборды с аналитикой ✅ Централизованная техническая документация без дублирования
This commit is contained in:
60
⚙️ Техническое/🖥️ Серверы/Git Service/Администрирование.md
Normal file
60
⚙️ Техническое/🖥️ Серверы/Git Service/Администрирование.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# Git Service - Администрирование
|
||||
|
||||
## Ежедневное администрирование
|
||||
|
||||
Этот документ содержит информацию по управлению и обслуживанию Git Service.
|
||||
|
||||
## Управление пользователями
|
||||
|
||||
### Создание пользователей
|
||||
*Процедуры добавления новых пользователей*
|
||||
|
||||
### Управление правами доступа
|
||||
*Настройка прав и ролей*
|
||||
|
||||
### Сброс паролей
|
||||
*Процедуры восстановления доступа*
|
||||
|
||||
## Управление репозиториями
|
||||
|
||||
### Создание репозиториев
|
||||
*Настройка новых репозиториев*
|
||||
|
||||
### Backup репозиториев
|
||||
*Процедуры резервного копирования*
|
||||
|
||||
### Миграция репозиториев
|
||||
*Перенос репозиториев*
|
||||
|
||||
## Мониторинг
|
||||
|
||||
### Проверка состояния сервиса
|
||||
*Health checks и мониторинг*
|
||||
|
||||
### Анализ логов
|
||||
*Работа с логами Gitea и PostgreSQL*
|
||||
|
||||
### Метрики производительности
|
||||
*Мониторинг ресурсов*
|
||||
|
||||
## Обслуживание
|
||||
|
||||
### Обновления
|
||||
*Процедуры обновления Gitea*
|
||||
|
||||
### Backup и восстановление
|
||||
*Полное резервное копирование*
|
||||
|
||||
### Troubleshooting
|
||||
*Решение типовых проблем*
|
||||
|
||||
## Интеграции
|
||||
|
||||
### Настройка Webhooks
|
||||
*Конфигурация уведомлений*
|
||||
|
||||
### Интеграция с CI/CD
|
||||
*Подключение систем автоматизации*
|
||||
|
||||
---
|
||||
*Эта страница находится в разработке*
|
||||
409
⚙️ Техническое/🖥️ Серверы/Git Service/Конфигурации.md
Normal file
409
⚙️ Техническое/🖥️ Серверы/Git Service/Конфигурации.md
Normal file
@@ -0,0 +1,409 @@
|
||||
# Git Service - Конфигурации
|
||||
|
||||
← **[[Обзор системы|← Назад к обзору]]**
|
||||
|
||||
## Docker Compose конфигурация
|
||||
|
||||
### Основной файл: `/DOCKER/git/docker-compose.yml`
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
services:
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
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__PASSWORD=sG7hZXBQDAtRab9A
|
||||
- GITEA__server__SSH_DOMAIN=git.aepif.ru
|
||||
- GITEA__server__SSH_PORT=2222
|
||||
volumes:
|
||||
- gitea_data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
depends_on:
|
||||
- db
|
||||
networks:
|
||||
- default
|
||||
- proxy
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
# HTTP routing
|
||||
- traefik.http.routers.gitea.rule=Host(`git.aepif.ru`)
|
||||
- traefik.http.routers.gitea.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
||||
# TCP routing for SSH
|
||||
- traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`)
|
||||
- traefik.tcp.routers.gitea-ssh.entrypoints=ssh
|
||||
- traefik.tcp.services.gitea-ssh.loadbalancer.server.port=22
|
||||
restart: unless-stopped
|
||||
|
||||
db:
|
||||
image: postgres:14
|
||||
container_name: gitea_db
|
||||
environment:
|
||||
- POSTGRES_USER=gitea
|
||||
- POSTGRES_PASSWORD=sG7hZXBQDAtRab9A
|
||||
- POSTGRES_DB=gitea
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- default
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
gitea_data:
|
||||
external: true
|
||||
name: gitea_gitea_data
|
||||
postgres_data:
|
||||
external: true
|
||||
name: gitea_postgres_data
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
default:
|
||||
driver: bridge
|
||||
```
|
||||
|
||||
## Gitea конфигурация
|
||||
|
||||
### Environment Variables
|
||||
```yaml
|
||||
environment:
|
||||
# User Configuration
|
||||
- USER_UID=1000 # UID пользователя в контейнере
|
||||
- USER_GID=1000 # GID пользователя в контейнере
|
||||
|
||||
# Database Configuration
|
||||
- GITEA__database__DB_TYPE=postgres
|
||||
- GITEA__database__HOST=db:5432
|
||||
- GITEA__database__NAME=gitea
|
||||
- GITEA__database__USER=gitea
|
||||
- GITEA__database__PASSWORD=sG7hZXBQDAtRab9A
|
||||
|
||||
# Server Configuration
|
||||
- GITEA__server__SSH_DOMAIN=git.aepif.ru
|
||||
- GITEA__server__SSH_PORT=2222
|
||||
```
|
||||
|
||||
### Расширенные настройки через переменные окружения
|
||||
```yaml
|
||||
environment:
|
||||
# Server Settings
|
||||
- GITEA__server__DOMAIN=git.aepif.ru
|
||||
- GITEA__server__ROOT_URL=https://git.aepif.ru
|
||||
- GITEA__server__DISABLE_SSH=false
|
||||
- GITEA__server__START_SSH_SERVER=true
|
||||
- GITEA__server__SSH_PORT=22 # Внутренний SSH порт
|
||||
- GITEA__server__SSH_LISTEN_PORT=22 # Порт прослушивания в контейнере
|
||||
|
||||
# Security Settings
|
||||
- GITEA__security__INSTALL_LOCK=true
|
||||
- GITEA__security__SECRET_KEY=your_secret_key_here
|
||||
|
||||
# Service Settings
|
||||
- GITEA__service__DISABLE_REGISTRATION=true
|
||||
- GITEA__service__REQUIRE_SIGNIN_VIEW=false
|
||||
- GITEA__service__ENABLE_NOTIFY_MAIL=false
|
||||
|
||||
# Repository Settings
|
||||
- GITEA__repository__DEFAULT_BRANCH=main
|
||||
- GITEA__repository__ENABLE_PUSH_CREATE_USER=true
|
||||
- GITEA__repository__ENABLE_PUSH_CREATE_ORG=false
|
||||
|
||||
# Webhook Settings
|
||||
- GITEA__webhook__ALLOWED_HOST_LIST=*
|
||||
- GITEA__webhook__SKIP_TLS_VERIFY=false
|
||||
```
|
||||
|
||||
### Структура конфигурации app.ini
|
||||
Gitea также поддерживает конфигурацию через файл `app.ini`:
|
||||
|
||||
```ini
|
||||
# /data/gitea/conf/app.ini внутри контейнера
|
||||
[database]
|
||||
DB_TYPE = postgres
|
||||
HOST = db:5432
|
||||
NAME = gitea
|
||||
USER = gitea
|
||||
PASSWD = sG7hZXBQDAtRab9A
|
||||
SSL_MODE = disable
|
||||
|
||||
[server]
|
||||
DOMAIN = git.aepif.ru
|
||||
HTTP_PORT = 3000
|
||||
ROOT_URL = https://git.aepif.ru/
|
||||
DISABLE_SSH = false
|
||||
SSH_DOMAIN = git.aepif.ru
|
||||
SSH_PORT = 2222
|
||||
START_SSH_SERVER = true
|
||||
SSH_LISTEN_PORT = 22
|
||||
|
||||
[security]
|
||||
INSTALL_LOCK = true
|
||||
SECRET_KEY = your_secret_key_here
|
||||
|
||||
[service]
|
||||
DISABLE_REGISTRATION = true
|
||||
REQUIRE_SIGNIN_VIEW = false
|
||||
ENABLE_NOTIFY_MAIL = false
|
||||
DEFAULT_KEEP_EMAIL_PRIVATE = true
|
||||
|
||||
[mailer]
|
||||
ENABLED = false
|
||||
|
||||
[repository]
|
||||
DEFAULT_BRANCH = main
|
||||
ENABLE_PUSH_CREATE_USER = true
|
||||
ENABLE_PUSH_CREATE_ORG = false
|
||||
|
||||
[webhook]
|
||||
ALLOWED_HOST_LIST = *
|
||||
SKIP_TLS_VERIFY = false
|
||||
```
|
||||
|
||||
## PostgreSQL конфигурация
|
||||
|
||||
### Database Container Settings
|
||||
```yaml
|
||||
db:
|
||||
image: postgres:14
|
||||
container_name: gitea_db
|
||||
environment:
|
||||
- POSTGRES_USER=gitea # Пользователь БД
|
||||
- POSTGRES_PASSWORD=sG7hZXBQDAtRab9A # Пароль БД
|
||||
- POSTGRES_DB=gitea # Имя базы данных
|
||||
```
|
||||
|
||||
### Дополнительные настройки PostgreSQL
|
||||
```yaml
|
||||
environment:
|
||||
# Performance Settings
|
||||
- POSTGRES_SHARED_PRELOAD_LIBRARIES=pg_stat_statements
|
||||
- POSTGRES_MAX_CONNECTIONS=200
|
||||
- POSTGRES_SHARED_BUFFERS=256MB
|
||||
- POSTGRES_EFFECTIVE_CACHE_SIZE=1GB
|
||||
- POSTGRES_WORK_MEM=4MB
|
||||
|
||||
# Logging Settings
|
||||
- POSTGRES_LOG_STATEMENT=all
|
||||
- POSTGRES_LOG_MIN_DURATION_STATEMENT=1000
|
||||
|
||||
# Backup Settings
|
||||
- POSTGRES_WAL_LEVEL=replica
|
||||
- POSTGRES_ARCHIVE_MODE=on
|
||||
```
|
||||
|
||||
### PostgreSQL Volume Configuration
|
||||
```yaml
|
||||
volumes:
|
||||
postgres_data:
|
||||
external: true
|
||||
name: gitea_postgres_data # External volume для персистентности
|
||||
```
|
||||
|
||||
## Traefik Integration Labels
|
||||
|
||||
### HTTP Routing
|
||||
```yaml
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.gitea.rule=Host(`git.aepif.ru`)
|
||||
- traefik.http.routers.gitea.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
||||
```
|
||||
|
||||
### TCP Routing для SSH
|
||||
```yaml
|
||||
labels:
|
||||
# SSH TCP routing
|
||||
- traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`)
|
||||
- traefik.tcp.routers.gitea-ssh.entrypoints=ssh
|
||||
- traefik.tcp.services.gitea-ssh.loadbalancer.server.port=22
|
||||
```
|
||||
|
||||
### Объяснение SSH routing
|
||||
- **HostSNI(`*`)**: Принимает любые TCP соединения на SSH entrypoint
|
||||
- **entrypoints=ssh**: Использует SSH entrypoint (порт 2222) в Traefik
|
||||
- **port=22**: Перенаправляет на порт 22 внутри Gitea контейнера
|
||||
|
||||
## Networking Configuration
|
||||
|
||||
### Networks
|
||||
```yaml
|
||||
networks:
|
||||
proxy:
|
||||
external: true # Подключение к Traefik
|
||||
default:
|
||||
driver: bridge # Внутренняя сеть для Gitea + PostgreSQL
|
||||
```
|
||||
|
||||
### Network Architecture
|
||||
- **proxy network**: Для HTTP/HTTPS трафика через Traefik
|
||||
- **default network**: Для внутренней связи Gitea ↔ PostgreSQL
|
||||
- **SSH traffic**: Напрямую через TCP routing Traefik
|
||||
|
||||
## Volume Configuration
|
||||
|
||||
### Gitea Data Volume
|
||||
```yaml
|
||||
gitea_data:
|
||||
external: true
|
||||
name: gitea_gitea_data
|
||||
```
|
||||
|
||||
**Содержимое Gitea volume:**
|
||||
- **repositories/**: Git репозитории
|
||||
- **conf/**: Конфигурационные файлы (app.ini)
|
||||
- **log/**: Логи Gitea
|
||||
- **data/**: Загруженные файлы, аватары
|
||||
- **ssh/**: SSH ключи сервера
|
||||
|
||||
### PostgreSQL Data Volume
|
||||
```yaml
|
||||
postgres_data:
|
||||
external: true
|
||||
name: gitea_postgres_data
|
||||
```
|
||||
|
||||
**Содержимое PostgreSQL volume:**
|
||||
- **base/**: Файлы базы данных
|
||||
- **global/**: Глобальные настройки кластера
|
||||
- **pg_wal/**: Write-Ahead Log файлы
|
||||
- **pg_tblspc/**: Tablespace ссылки
|
||||
|
||||
### Создание external volumes
|
||||
```bash
|
||||
# Создание volumes перед запуском
|
||||
docker volume create gitea_gitea_data
|
||||
docker volume create gitea_postgres_data
|
||||
|
||||
# Проверка созданных volumes
|
||||
docker volume ls | grep gitea
|
||||
```
|
||||
|
||||
## Time Synchronization
|
||||
|
||||
### Timezone Configuration
|
||||
```yaml
|
||||
volumes:
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
```
|
||||
|
||||
Это обеспечивает синхронизацию времени контейнера с хост-системой, что важно для:
|
||||
- Корректных timestamp в Git commits
|
||||
- Правильного отображения времени в веб-интерфейсе
|
||||
- Синхронизации с логами других сервисов
|
||||
|
||||
## Security Configuration
|
||||
|
||||
### User Permissions
|
||||
```yaml
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
```
|
||||
|
||||
- Gitea запускается под пользователем с UID/GID 1000
|
||||
- Соответствует обычному пользователю в Linux системах
|
||||
- Обеспечивает правильные права доступа к файлам
|
||||
|
||||
### Database Security
|
||||
- **Пароль БД**: Случайно сгенерированный пароль `sG7hZXBQDAtRab9A`
|
||||
- **Изоляция сети**: PostgreSQL доступна только из внутренней сети
|
||||
- **SSL отключен**: Для внутренней связи в Docker сети
|
||||
|
||||
### SSH Security
|
||||
- **Отдельный порт**: SSH на нестандартном порту 2222
|
||||
- **TCP routing**: Прямое подключение через Traefik
|
||||
- **Key management**: SSH ключи управляются через веб-интерфейс
|
||||
|
||||
## Performance Tuning
|
||||
|
||||
### Gitea Performance Settings
|
||||
```yaml
|
||||
environment:
|
||||
# Repository settings
|
||||
- GITEA__repository__DEFAULT_REPO_UNITS=repo.code,repo.releases,repo.issues,repo.pulls,repo.wiki
|
||||
- GITEA__repository__DEFAULT_PRIVATE=private
|
||||
|
||||
# Git settings
|
||||
- GITEA__git__MAX_GIT_DIFF_LINES=10000
|
||||
- GITEA__git__MAX_GIT_DIFF_LINE_CHARACTERS=5000
|
||||
- GITEA__git__MAX_GIT_DIFF_FILES=100
|
||||
|
||||
# Session settings
|
||||
- GITEA__session__PROVIDER=memory
|
||||
- GITEA__session__PROVIDER_CONFIG=data/sessions
|
||||
```
|
||||
|
||||
### PostgreSQL Performance
|
||||
```yaml
|
||||
environment:
|
||||
# Connection settings
|
||||
- POSTGRES_MAX_CONNECTIONS=200
|
||||
- POSTGRES_SHARED_BUFFERS=256MB
|
||||
- POSTGRES_EFFECTIVE_CACHE_SIZE=1GB
|
||||
- POSTGRES_RANDOM_PAGE_COST=1.1
|
||||
- POSTGRES_WORK_MEM=4MB
|
||||
```
|
||||
|
||||
## Backup Configuration
|
||||
|
||||
### Automated Backups
|
||||
```yaml
|
||||
# Дополнительный контейнер для backup (опционально)
|
||||
backup:
|
||||
image: prodrigestivill/postgres-backup-local
|
||||
environment:
|
||||
- POSTGRES_HOST=db
|
||||
- POSTGRES_DB=gitea
|
||||
- POSTGRES_USER=gitea
|
||||
- POSTGRES_PASSWORD=sG7hZXBQDAtRab9A
|
||||
- BACKUP_KEEP_DAYS=7
|
||||
- BACKUP_KEEP_WEEKS=4
|
||||
- BACKUP_KEEP_MONTHS=6
|
||||
volumes:
|
||||
- ./backups:/backups
|
||||
depends_on:
|
||||
- db
|
||||
```
|
||||
|
||||
### Backup Strategy
|
||||
1. **Database Backup**: Автоматический dump PostgreSQL
|
||||
2. **Repository Backup**: Резервное копирование Git репозиториев
|
||||
3. **Configuration Backup**: Сохранение настроек и конфигурации
|
||||
|
||||
## Monitoring и Logging
|
||||
|
||||
### Log Configuration
|
||||
```yaml
|
||||
environment:
|
||||
- GITEA__log__MODE=file
|
||||
- GITEA__log__LEVEL=Info
|
||||
- GITEA__log__ROOT_PATH=/data/gitea/log
|
||||
```
|
||||
|
||||
### Health Checks
|
||||
```yaml
|
||||
# Дополнительные health checks
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3000/api/healthz"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
```
|
||||
|
||||
## Связанные файлы
|
||||
|
||||
- **[[Развертывание]]** - пошаговая установка и настройка
|
||||
- **[[Администрирование]]** - управление пользователями и репозиториями
|
||||
- **[[../Traefik Reverse Proxy/Конфигурации]]** - настройки интеграции с reverse proxy
|
||||
204
⚙️ Техническое/🖥️ Серверы/Git Service/Обзор системы.md
Normal file
204
⚙️ Техническое/🖥️ Серверы/Git Service/Обзор системы.md
Normal file
@@ -0,0 +1,204 @@
|
||||
## Описание
|
||||
|
||||
Git Service - отдельный сервис на базе Gitea, обеспечивающий централизованное хранение кода и заметок. Работает независимо от других сервисов и предоставляет Git-интерфейс для всех проектов в экосистеме aepif.ru.
|
||||
|
||||
## Архитектура системы
|
||||
|
||||
```mermaid
|
||||
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
|
||||
```yaml
|
||||
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
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# Проверка веб-интерфейса
|
||||
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. Управление коллаборацией
|
||||
|
||||
### Обновления
|
||||
```bash
|
||||
# Обновление образа
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
|
||||
# Проверка версии
|
||||
docker exec gitea gitea --version
|
||||
```
|
||||
|
||||
## Связанные сервисы
|
||||
|
||||
- **[[Мой сервер/Second Mind Setup/Обзор системы|Second Mind]]** - использует Git Service для хранения заметок
|
||||
- **[[Мой сервер/Инфраструктура/Обзор системы|Traefik]]** - обеспечивает маршрутизацию и SSL
|
||||
- **Potential CI/CD** - будущие интеграции с системами автоматизации
|
||||
|
||||
## Связанные документы
|
||||
|
||||
- **[[Git Service - Конфигурации]]** - детальные настройки
|
||||
- **[[Git Service - Развертывание]]** - пошаговая установка
|
||||
- **[[Git Service - Администрирование]]** - управление и обслуживание
|
||||
46
⚙️ Техническое/🖥️ Серверы/Git Service/Развертывание.md
Normal file
46
⚙️ Техническое/🖥️ Серверы/Git Service/Развертывание.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Git Service - Развертывание
|
||||
|
||||
## Пошаговая установка
|
||||
|
||||
Этот документ содержит инструкции по развертыванию Git Service с нуля.
|
||||
|
||||
## Предварительные требования
|
||||
|
||||
### Системные требования
|
||||
*Минимальные требования к серверу*
|
||||
|
||||
### Зависимости
|
||||
*Необходимое ПО и сервисы*
|
||||
|
||||
## Установка
|
||||
|
||||
### Шаг 1: Подготовка среды
|
||||
*Подготовка окружения для развертывания*
|
||||
|
||||
### Шаг 2: Конфигурация
|
||||
*Настройка файлов конфигурации*
|
||||
|
||||
### Шаг 3: Развертывание контейнеров
|
||||
*Запуск Docker Compose*
|
||||
|
||||
### Шаг 4: Первоначальная настройка
|
||||
*Настройка Gitea через веб-интерфейс*
|
||||
|
||||
## Интеграция с инфраструктурой
|
||||
|
||||
### Подключение к Traefik
|
||||
*Настройка reverse proxy*
|
||||
|
||||
### Настройка SSL
|
||||
*Конфигурация сертификатов*
|
||||
|
||||
## Тестирование
|
||||
|
||||
### Проверка доступности
|
||||
*Тесты работоспособности сервиса*
|
||||
|
||||
### Создание тестового репозитория
|
||||
*Валидация функциональности*
|
||||
|
||||
---
|
||||
*Эта страница находится в разработке*
|
||||
Reference in New Issue
Block a user