На VPS сейчас работает не просто Ubuntu, а вполне приличный технологический зоопарк. База — Ubuntu 24.04.5 LTS, SSH с усиленной настройкой доступа и UFW как сетевой фильтр. Для приватной сети используется WireGuard: интерфейс wg0 работает через UDP/443.
Веб-слой обслуживает Nginx: несколько доменов, HTTP/HTTPS, TLS 1.2/1.3, Certbot, ограничения запросов и отдельное логирование событий безопасности. Публичные каталоги отделены от исходников, чтобы случайный запрос к .env не превращался в экскурсию по файловой системе.
За подозрительной активностью следит CrowdSec 1.8.1, а firewall-bouncer применяет решения через nftables. Получилась связка «увидел — проанализировал — заблокировал», причём список блокировок уже настолько солидный, что nftables иногда выглядит как телефонная книга интернета.
Для приложений используются Docker, Docker Compose, containerd и Buildx. В серверной части работает PostgreSQL, а автоматизация развёртывания VPN опирается на собственный API, Redis и базу данных.
Системные задачи работают через systemd: timers и services отвечают за обслуживание и автоматические сценарии. Unattended-upgrades следит за обновлениями Ubuntu, sysctl настроен для сетевой маршрутизации и отключения IPv6. Journald и logrotate помогают обслуживать системные и веб-логи.
Поверх инфраструктуры работает собственный dashboard 0b1010011010.ru с API, JavaScript-интерфейсом и мониторингом системы и CrowdSec. Проекты и конфигурация ведутся с использованием Git, а Telegram используется для автоматических инфраструктурных уведомлений, включая контроль перезагрузок.
В итоге сеть, веб, безопасность, контейнеры, БД, автоматизация, мониторинг и уведомления собраны в одну систему. И да, теперь даже перезагрузка старается сначала доложить об этом в Telegram.