Add optional Docker, Telegraf, Nebula, 3x-ui installs; drop service configs
The script now only prepares the server: services are installed without configuration so they can be restored from backup or set up manually. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
52c01f225b
commit
ad4400f3d3
2 files changed
+224
-92
No files matched your search
@@ -1,6 +1,9 @@
|
||||
# vps_installer
|
||||
|
||||
Первоначальная настройка сервера Ubuntu 24.04 по [инструкции](https://wiki.hsrv.site/books/pervonacalnaia-nastroika-ubuntu/page/pervonacalnaia-nastroika-servera-ubuntu-2404).
|
||||
Подготовка свежего сервера Ubuntu 24.04 по инструкциям из [вики](https://wiki.hsrv.site/books/pervonacalnaia-nastroika-ubuntu).
|
||||
|
||||
Скрипт ставит базовую защиту и выбранное ПО, но **не настраивает конфиги сервисов** —
|
||||
после него сервер готов либо к заливке бекапа, либо к ручной донастройке.
|
||||
|
||||
## Запуск
|
||||
|
||||
@@ -10,30 +13,42 @@
|
||||
curl -fsSL https://gitea.hsrv.site/mrleo1nid/vps_installer/raw/branch/main/setup.sh | sudo bash
|
||||
```
|
||||
|
||||
Скрипт спросит логин и пароль нового пользователя, имя машины, домен для Caddy и т.д.
|
||||
|
||||
## Что делает
|
||||
|
||||
1. `apt upgrade`, включает unattended-upgrades
|
||||
2. Создаёт пользователя с sudo без пароля (вход по SSH — по паролю)
|
||||
3. Меняет hostname (+ `/etc/hosts`, cloud-init не перезапишет его при перезагрузке)
|
||||
4. Переключает iptables на legacy
|
||||
5. Ставит fail2ban (jail sshd, ваш текущий IP в ignoreip)
|
||||
6. UFW: открыты SSH, 80, 443
|
||||
7. Caddy (опционально — с reverse_proxy на домен)
|
||||
8. Блокировка IP по внешнему списку через ipset + cron (`/etc/cron.d/ban-blacklist`)
|
||||
9. Запрещает вход root по SSH и блокирует пароль root
|
||||
10. Предлагает перезагрузку
|
||||
Всегда:
|
||||
|
||||
Лог: `/var/log/vps-setup.log`.
|
||||
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 *(можно отключить)*
|
||||
13. Запрет входа root по SSH, блокировка пароля root *(можно отключить)*
|
||||
|
||||
Опционально (только установка):
|
||||
|
||||
| # | ПО | Версия | Состояние после скрипта |
|
||||
|---|----|--------|-------------------------|
|
||||
| 8 | Docker + Compose | из репо Docker | запущен, пользователь в группе `docker` |
|
||||
| 9 | Telegraf | из репо InfluxData | установлен, **выключен** до настройки `telegraf.conf` |
|
||||
| 10 | Nebula | **1.10.3** | бинарники + юнит, **не запущен** до появления сертификатов |
|
||||
| 11 | 3x-ui | **v2.8.11** | официальный установщик (интерактивный), порт панели открыт в UFW |
|
||||
| 12 | 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 DOMAIN=example.com UPSTREAM=127.0.0.1:8080 INSTALL_BLOCKLIST=y HARDEN_SSH=y 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_CADDY`, `DOMAIN`, `UPSTREAM`,
|
||||
`INSTALL_BLOCKLIST`, `BLOCKLIST_URL`, `HARDEN_SSH`, `DO_REBOOT`.
|
||||
Переменные: `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).
|
||||
Reference in new issue
Block a user