Files
vps_installer/README.md
T
2026-10-06 11:45:11 +03:00

56 lines
3.0 KiB
Markdown

# vps_installer
Подготовка свежего сервера Ubuntu 24.04 по инструкциям из [вики](https://wiki.hsrv.site/books/pervonacalnaia-nastroika-ubuntu).
Скрипт ставит базовую защиту и выбранное ПО, но **не настраивает конфиги сервисов** —
после него сервер готов либо к заливке бекапа, либо к ручной донастройке.
## Запуск
Под root на свежем сервере:
```bash
curl -fsSL https://gitea.hsrv.site/mrleo1nid/vps_installer/raw/branch/main/setup.sh | sudo bash
```
## Что делает
Всегда:
1. `apt upgrade`, unattended-upgrades
2. Пользователь с паролем и sudo без пароля
3. hostname (+ `/etc/hosts`, защита от перезаписи cloud-init)
4. iptables → legacy
5. fail2ban (jail sshd, ваш текущий IP в ignoreip)
6. UFW: SSH, 80, 443
7. Блокировка IP по внешнему списку — ipset + cron *(можно отключить)*
8. Заглушка 503 в `/var/www/statuspage/index.html` (из `statuspage/` репозитория; существующий файл не перезаписывается)
14. Запрет входа root по SSH, блокировка пароля root *(можно отключить)*
Опционально (только установка):
| # | ПО | Версия | Состояние после скрипта |
|---|----|--------|-------------------------|
| 9 | Docker + Compose | из репо Docker | запущен, пользователь в группе `docker` |
| 10 | Telegraf | из репо InfluxData | установлен, **выключен** до настройки `telegraf.conf` |
| 11 | Nebula | **1.10.3** | бинарники + юнит, **не запущен** до появления сертификатов |
| 12 | 3x-ui | **v2.8.11** | официальный установщик (интерактивный), порт панели открыт в UFW |
| 13 | Caddy | из репо Caddy | установлен со стандартным Caddyfile |
Версии 3x-ui и Nebula задаются в начале `setup.sh` (`XUI_VERSION`, `NEBULA_VERSION`).
В конце скрипт выводит список того, что осталось настроить.
Лог: `/var/log/vps-setup.log` (права 600 — в нём учётные данные 3x-ui).
## Без вопросов
Любой ответ можно передать переменной окружения:
```bash
curl -fsSL https://gitea.hsrv.site/mrleo1nid/vps_installer/raw/branch/main/setup.sh | sudo NEW_USER=admin NEW_HOSTNAME=vps1.example.com INSTALL_CADDY=y INSTALL_DOCKER=y bash
```
Переменные: `NEW_USER`, `NEW_PASS`, `NEW_HOSTNAME`, `INSTALL_BLOCKLIST`, `BLOCKLIST_URL`,
`INSTALL_CADDY`, `INSTALL_DOCKER`, `INSTALL_TELEGRAF`, `INSTALL_NEBULA`, `NEBULA_LIGHTHOUSE`,
`INSTALL_3XUI`, `HARDEN_SSH`, `DO_REBOOT` (y/n).