Two deployment options for recreating the kirgysia server: - manual-setup/: bash script for manual server provisioning - cloud-init/: cloud-init config + data upload script for automated VPS setup Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
96 lines
3.2 KiB
Markdown
96 lines
3.2 KiB
Markdown
# Настройка нового сервера (копия 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
|
||
```
|