Files
gitserver/02/02-k-git-server-deploy.11.sh
2026-02-19 20:05:04 +03:00

106 lines
4.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
#===============================================================================
# ШАГ 11: СОЗДАНИЕ АДМИНИСТРАТОРА GITEA
#===============================================================================
# Запуск: sudo bash 02-k-git-server-deploy.11.sh
#===============================================================================
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
source "$SCRIPT_DIR/02-k-git-server-deploy.00.sh"
init_log
check_root
print_header "ШАГ 11: СОЗДАНИЕ АДМИНИСТРАТОРА GITEA"
#-------------------------------------------------------------------------------
# 11.1 Проверка Gitea
#-------------------------------------------------------------------------------
print_subheader "Проверка Gitea"
if ! service_running gitea; then
print_error "Gitea не запущена!"
print_info "Сначала выполните шаг 06: bash 02-k-git-server-deploy.06.sh"
exit 1
fi
print_success "Gitea запущена"
#-------------------------------------------------------------------------------
# 11.2 Генерация пароля
#-------------------------------------------------------------------------------
print_subheader "Генерация пароля"
GITEA_PASS=$(generate_password)
print_success "Пароль сгенерирован"
#-------------------------------------------------------------------------------
# 11.3 Проверка существования пользователя
#-------------------------------------------------------------------------------
print_subheader "Проверка пользователя"
if su -c "$GITEA_BIN admin user list --config $GITEA_CONFIG" git 2>/dev/null | grep -q "$GITEA_ADMIN"; then
print_warning "Пользователь $GITEA_ADMIN уже существует"
read -p "Задать новый пароль? [y/N]: " NEW_PASS
if [[ "$NEW_PASS" =~ ^[Yy]$ ]]; then
read -s -p "Введите новый пароль: " GITEA_PASS
echo ""
su -c "$GITEA_BIN admin user change-password --username '$GITEA_ADMIN' --password '$GITEA_PASS' --config $GITEA_CONFIG" git
print_success "Пароль изменён"
else
print_info "Пароль оставлен без изменений"
fi
save_admin_credentials "$GITEA_ADMIN" "(не изменён)"
print_success "Шаг 11 завершён"
exit 0
fi
#-------------------------------------------------------------------------------
# 11.4 Создание пользователя-администратора
#-------------------------------------------------------------------------------
print_subheader "Создание администратора"
print_info "Создание пользователя: $GITEA_ADMIN"
print_info "Email: $GITEA_ADMIN_EMAIL"
if su -c "$GITEA_BIN admin user create \
--username '$GITEA_ADMIN' \
--email '$GITEA_ADMIN_EMAIL' \
--password '$GITEA_PASS' \
--admin \
--config '$GITEA_CONFIG'" git 2>&1; then
print_success "Администратор создан"
else
print_error "Не удалось создать администратора"
print_info "Попробуйте создать через веб-интерфейс: https://$GIT_DOMAIN"
exit 1
fi
#-------------------------------------------------------------------------------
# 11.5 Сохранение учётных данных
#-------------------------------------------------------------------------------
print_subheader "Сохранение учётных данных"
save_admin_credentials "$GITEA_ADMIN" "$GITEA_PASS"
#-------------------------------------------------------------------------------
# 11.6 Вывод информации
#-------------------------------------------------------------------------------
echo ""
echo -e "${YELLOW}============================================================${NC}"
echo -e "${YELLOW} ДАННЫЕ АДМИНИСТРАТОРА GITEA${NC}"
echo -e "${YELLOW}============================================================${NC}"
echo ""
echo " URL: https://$GIT_DOMAIN"
echo " Логин: $GITEA_ADMIN"
echo " Пароль: $GITEA_PASS"
echo ""
echo -e "${RED}ВАЖНО: Смените пароль после первого входа!${NC}"
echo -e "${RED}Данные сохранены в /root/.gitea-admin-credentials${NC}"
echo ""
print_success "Шаг 11 завершён: Администратор создан"