This commit is contained in:
user 2025-07-25 16:23:19 +03:00
parent ecaa2ad132
commit 80c489a5bd
2 changed files with 54 additions and 15 deletions

View File

@ -4,13 +4,19 @@
## 🚀 Быстрая установка ## 🚀 Быстрая установка
### Развертывание на новом сервере одной командой: ### 🔥 Автоматическая установка одной командой (значения по умолчанию):
```bash ```bash
curl -fsSL https://git.projscale.dev/my-dev/uploader-bot/raw/branch/main/start.sh | sudo bash curl -fsSL https://git.projscale.dev/my-dev/uploader-bot/raw/branch/main/start.sh | sudo bash
``` ```
### Или скачать и запустить локально: **Настройки по умолчанию:**
- ✅ Bootstrap нода (создание новой сети)
- ✅ Веб-клиент включен
- ❌ SSL отключен (требует ручной настройки)
- ❌ Telegram боты отключены
### 🛠️ Интерактивная установка (с настройкой параметров):
```bash ```bash
wget https://git.projscale.dev/my-dev/uploader-bot/raw/branch/main/start.sh wget https://git.projscale.dev/my-dev/uploader-bot/raw/branch/main/start.sh
@ -18,6 +24,13 @@ chmod +x start.sh
sudo ./start.sh sudo ./start.sh
``` ```
**Интерактивный режим позволяет настроить:**
- Тип сети (Bootstrap или подключение к существующей)
- Тип ноды (публичная/приватная)
- SSL сертификат с доменом
- Telegram API ключи
- Путь к docker.sock
## 📋 Что устанавливается ## 📋 Что устанавливается
Скрипт `start.sh` автоматически: Скрипт `start.sh` автоматически:

View File

@ -401,29 +401,43 @@ interactive_setup() {
install_dependencies() { install_dependencies() {
log_info "📦 Установка системных зависимостей..." log_info "📦 Установка системных зависимостей..."
# Настройка неинтерактивного режима для apt
export DEBIAN_FRONTEND=noninteractive
export NEEDRESTART_MODE=a
export NEEDRESTART_SUSPEND=1
# Обновление пакетов # Обновление пакетов
case $OS_ID in case $OS_ID in
ubuntu|debian) ubuntu|debian)
apt update && apt upgrade -y # Настройка для автоматического согласия с дефолтными настройками
apt install -y curl wget git unzip htop nano ufw fail2ban \ echo 'DPkg::Options {"--force-confdef";"--force-confold";}' > /etc/apt/apt.conf.d/50unattended-upgrades-local
apt-get update -qq
apt-get upgrade -y -qq -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
apt-get install -y -qq curl wget git unzip htop nano ufw fail2ban \
python3 python3-pip python3-venv build-essential \ python3 python3-pip python3-venv build-essential \
postgresql-client jq netcat-openbsd postgresql-client jq netcat-openbsd
;; ;;
centos|rhel|fedora) centos|rhel|fedora)
if command -v dnf &> /dev/null; then if command -v dnf &> /dev/null; then
dnf update -y dnf update -y -q
dnf install -y curl wget git unzip htop nano firewalld \ dnf install -y -q curl wget git unzip htop nano firewalld \
python3 python3-pip python3-devel gcc gcc-c++ \ python3 python3-pip python3-devel gcc gcc-c++ \
postgresql jq nc postgresql jq nc
else else
yum update -y yum update -y -q
yum install -y curl wget git unzip htop nano firewalld \ yum install -y -q curl wget git unzip htop nano firewalld \
python3 python3-pip python3-devel gcc gcc-c++ \ python3 python3-pip python3-devel gcc gcc-c++ \
postgresql jq nc postgresql jq nc
fi fi
;; ;;
esac esac
# Очистка переменных окружения
unset DEBIAN_FRONTEND
unset NEEDRESTART_MODE
unset NEEDRESTART_SUSPEND
log_success "Системные зависимости установлены" log_success "Системные зависимости установлены"
} }
@ -911,12 +925,15 @@ build_converter_image() {
cd converter-module cd converter-module
# Проверяем наличие Dockerfile # Проверяем наличие Dockerfile в папке converter
if [ ! -f "Dockerfile" ]; then if [ ! -f "converter/Dockerfile" ]; then
log_error "Dockerfile не найден в converter-module" log_error "Dockerfile не найден в converter-module/converter/"
return 1 return 1
fi fi
# Переходим в папку converter для сборки
cd converter
# Сборка converter образа из оригинального репозитория # Сборка converter образа из оригинального репозитория
log_info "Сборка Docker образа для converter..." log_info "Сборка Docker образа для converter..."
if docker build -t my-network-converter:latest . ; then if docker build -t my-network-converter:latest . ; then
@ -937,14 +954,23 @@ setup_nginx() {
# Установка nginx # Установка nginx
case $OS_ID in case $OS_ID in
ubuntu|debian) ubuntu|debian)
apt update export DEBIAN_FRONTEND=noninteractive
apt install -y nginx certbot python3-certbot-nginx export NEEDRESTART_MODE=a
export NEEDRESTART_SUSPEND=1
apt-get update -qq
apt-get install -y -qq -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \
nginx certbot python3-certbot-nginx
unset DEBIAN_FRONTEND
unset NEEDRESTART_MODE
unset NEEDRESTART_SUSPEND
;; ;;
centos|rhel|fedora) centos|rhel|fedora)
if command -v dnf &> /dev/null; then if command -v dnf &> /dev/null; then
dnf install -y nginx certbot python3-certbot-nginx dnf install -y -q nginx certbot python3-certbot-nginx
else else
yum install -y nginx certbot python3-certbot-nginx yum install -y -q nginx certbot python3-certbot-nginx
fi fi
;; ;;
esac esac