Files
docker/server-setup/manual-setup/README.md
T
eberkheevandClaude Opus 4.6 ba4b395a4a Add server setup scripts (manual + cloud-init)
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>
2026-03-21 16:07:57 +04:00

96 lines
3.2 KiB
Markdown
Raw 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.
# Настройка нового сервера (копия 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
```