# Настройка нового сервера (копия kirgysia) ## Что внутри ``` server-setup/ ├── setup.sh # Скрипт автоматической настройки ├── README.md # Эта инструкция └── data/ ├── x-ui.db # База данных 3x-ui ├── fullchain.pem # SSL-сертификат ├── privkey.pem # SSL-ключ └── authorized_keys # SSH-ключ для доступа ``` ## Требования - Ubuntu 22.04 LTS - Root-доступ ## Быстрый старт ### 1. Скопировать папку на новый сервер ```bash scp -r server-setup/ root@IP_НОВОГО_СЕРВЕРА:/root/ ``` ### 2. Подключиться к серверу ```bash ssh root@IP_НОВОГО_СЕРВЕРА ``` ### 3. Запустить скрипт ```bash cd /root/server-setup sudo bash setup.sh ``` Всё. Скрипт сам установит пакеты, создаст пользователя, настроит SSH, поднимет 3x-ui в Docker. ## Настройки (при необходимости) В начале `setup.sh` есть переменные — обычно менять их не нужно: | Переменная | По умолчанию | Описание | |-------------|----------------|----------| | `NEW_USER` | `eberkheev` | Имя пользователя | | `SSH_PORT` | `10001` | Порт SSH | | `TIMEZONE` | `UTC` | Часовой пояс | | `STATIC_IP` | *(пусто)* | IP сервера, например `5.144.180.119/24`. Оставить пустым если сеть настраивается автоматически (DHCP) — так на большинстве VPS | | `GATEWAY` | *(пусто)* | IP шлюза, например `5.144.180.1`. Нужен только если задан `STATIC_IP` | | `DNS` | `8.8.8.8,8.8.4.4` | DNS-серверы | ## Что настраивает скрипт 1. Обновление системы 2. Установка пакетов: docker, git, htop, mc, nmap, fail2ban, certbot, curl, wget, unzip 3. Создание пользователя с sudo (без пароля) 4. SSH: порт 10001, вход только по ключу, root запрещён 5. Сеть (только если задан STATIC_IP) 6. 3x-ui в Docker (network_mode: host) с восстановлением базы и сертификатов 7. Скрипт обновления `~/update.sh` ## После установки Подключение: ```bash ssh -p 10001 eberkheev@IP_НОВОГО_СЕРВЕРА ``` Панель 3x-ui: ``` https://IP_НОВОГО_СЕРВЕРА:10002 ``` (порт панели зависит от настроек в x-ui.db) Проверка контейнера: ```bash docker ps ``` Обновление 3x-ui: ```bash bash ~/update.sh ``` ## Обновление сертификатов Если нужен новый сертификат — положите `fullchain.pem` и `privkey.pem` в `~/3x-ui/cert/` и перезапустите контейнер: ```bash docker restart 3xui_app ```