127 lines
4.0 KiB
Bash
Executable File
127 lines
4.0 KiB
Bash
Executable File
#!/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 создана"
|