initial commit

This commit is contained in:
unknown
2026-02-19 20:05:04 +03:00
parent 1ee67d8159
commit 05097d5dda
32 changed files with 4413 additions and 3 deletions

126
02/02-k-git-server-deploy.05.sh Executable file
View File

@@ -0,0 +1,126 @@
#!/bin/bash
#===============================================================================
# ШАГ 5: КОНФИГУРАЦИЯ GITEA
#===============================================================================
# Запуск: sudo bash 02-k-git-server-deploy.05.sh
#===============================================================================
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
source "$SCRIPT_DIR/02-k-git-server-deploy.00.sh"
init_log
check_root
print_header "ШАГ 5: КОНФИГУРАЦИЯ GITEA"
#-------------------------------------------------------------------------------
# 5.1 Проверка существующей конфигурации
#-------------------------------------------------------------------------------
print_subheader "Проверка конфигурации"
if [[ -f "$GITEA_CONFIG" ]] && grep -q "INSTALL_LOCK = true" "$GITEA_CONFIG"; then
print_warning "Конфигурация уже существует и заблокирована"
read -p "Перезаписать конфигурацию? [y/N]: " REWRITE
if [[ ! "$REWRITE" =~ ^[Yy]$ ]]; then
print_info "Конфигурация оставлена без изменений"
print_success "Шаг 5 завершён (пропуск)"
exit 0
fi
# Backup существующей конфигурации
cp "$GITEA_CONFIG" "${GITEA_CONFIG}.backup.$(date +%Y%m%d_%H%M%S)"
fi
#-------------------------------------------------------------------------------
# 5.2 Генерация секретных ключей
#-------------------------------------------------------------------------------
print_subheader "Генерация секретных ключей"
SECRET_KEY=$(generate_secret)
INTERNAL_TOKEN=$($GITEA_BIN generate secret INTERNAL_TOKEN 2>/dev/null || generate_secret)
JWT_SECRET=$($GITEA_BIN generate secret JWT_SECRET 2>/dev/null || generate_secret)
print_success "Секретные ключи сгенерированы"
#-------------------------------------------------------------------------------
# 5.3 Создание конфигурационного файла
#-------------------------------------------------------------------------------
print_subheader "Создание конфигурации"
cat > "$GITEA_CONFIG" << EOF
; Gitea Configuration
; Автоматически сгенерировано скриптом развёртывания
[server]
APP_DATA_PATH = $GITEA_DATA/data
DOMAIN = $GIT_DOMAIN
HTTP_PORT = 3000
ROOT_URL = https://$GIT_DOMAIN/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
LFS_START_SERVER = true
[lfs]
PATH = $GITEA_DATA/data/lfs
[database]
DB_TYPE = sqlite3
PATH = $GITEA_DATA/data/gitea.db
[repository]
ROOT = $GITEA_DATA/repositories
DEFAULT_PUSH_CREATE_PRIVATE = true
MAX_CREATION_LIMIT = 50
[security]
INSTALL_LOCK = true
SECRET_KEY = $SECRET_KEY
INTERNAL_TOKEN = $INTERNAL_TOKEN
[service]
DISABLE_REGISTRATION = false
REQUIRE_SIGNIN_VIEW = false
ENABLE_NOTIFY_MAIL = false
DEFAULT_KEEP_EMAIL_PRIVATE = true
ENABLE_BASIC_AUTHENTICATION = true
[oauth2]
JWT_SECRET = $JWT_SECRET
[mailer]
ENABLED = false
[session]
PROVIDER = file
PROVIDER_CONFIG = $GITEA_DATA/data/sessions
[picture]
AVATAR_UPLOAD_PATH = $GITEA_DATA/data/avatars
REPOSITORY_AVATAR_UPLOAD_PATH = $GITEA_DATA/data/repo-avatars
[attachment]
PATH = $GITEA_DATA/data/attachments
[log]
ROOT_PATH = $GITEA_DATA/log
MODE = file
LEVEL = Info
[other]
SHOW_FOOTER_VERSION = false
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false
EOF
print_success "Конфигурация создана"
#-------------------------------------------------------------------------------
# 5.4 Установка прав
#-------------------------------------------------------------------------------
print_subheader "Установка прав"
chown root:git "$GITEA_CONFIG"
chmod 640 "$GITEA_CONFIG"
print_success "Права установлены"
print_success "Шаг 5 завершён: Конфигурация Gitea создана"