Мы все там были. Берешь свежий VPS, ставишь Docker и задумываешься: «А чем рулить доменами и SSL?». Тратить полдня на ручные конфиги Nginx и certbot в 2026 году — моветон.
Боль и страдания GUI-решений
Первая мысль — Nginx Proxy Manager (NPM). Удобно, красиво, мышка кликает. Но потом начинается ад:
Лишние сущности: Пробрасывать кучу портов просто ради админки.
Оверинжиниринг: База данных (SQLite/MySQL) только для того, чтобы хранить конфиг реверс-прокси. Серьезно?
Скрытая сложность: Половина тонких настроек (вроде кастомных кешей или хитрых реврайтов) всё равно делается через «Advanced -> Custom Nginx Configuration» вслепую.
Жор ресурсов: Запустите NPM на машине с 1GB RAM и посмотрите, как ему «весело».
А если взять Traefik? Тоже здорово, но порог входа с его лейблами и провайдерами иногда заставляет плакать кровавыми слезами, когда нужно просто отдать статику с кешированием или настроить банальный ресайз картинок.
💡 Решение: Возврат к истокам, но с комфортом
Я фанат философии KISS (Keep It Simple, Stupid). Зачем усложнять то, что Nginx и Bash делают идеально десятилетиями? Так родился мой nginx-template.
Этот проект — не очередной GUI. Это легковесный Docker-стек (Nginx + Certbot) и единый «пульт управления» в виде скрипта manage.sh.
Проверено в бою
Важный момент: Это не просто теоретическая поделка. Я лично содержу на этом стеке уже 5 продакшн-сайтов. Решение стабильно, предсказуемо и не требует лишней возни.
Магия одной команды
Суть проста: вы клонируете репозиторий, а дальше управляете всем прямо из терминала.
1. Добавить обычный сайт с авто-SSL:
./manage.sh add example.com 3000 my.email@example.com
Скрипт сам сгенерирует конфиг из шаблона, пнет Certbot, дождется сертификатов от Let's Encrypt и сделает мягкий reload Nginx. Никаких прерываний трафика.
2. Поднять собственную CDN-ноду с умным кешированием:
./manage.sh cdn static.domain.com https://origin-server.com
3. Image Proxy (ресайз на лету):
Моя любимая фича. Больше никаких тяжелых микросервисов для обрезки картинок. Nginx с модулем image-filter умеет это сам.
./manage.sh img media.domain.com https://my-bucket.s3.amazonaws.com
Теперь вы можете запрашивать: media.domain.com/image.jpg?w=800&h=600, и Nginx отдаст вам аккуратно отресайженную и закешированную копию.
🛠 Что под капотом (и почему это круче NPM)
Я не стал изобретать велосипед, я просто собрал лучшие практики в один шаблон. Загляните в manage.sh — это кристально понятный роутер команд:
# Фрагмент manage.sh case "$1" in add) "$SCRIPTS_DIR/add-site-letsencrypt.sh" "$2" "$3" "$4" ;; cdn) "$SCRIPTS_DIR/add-cdn-site.sh" "$2" "$3" "$4" ;; img) "$SCRIPTS_DIR/add-image-proxy.sh" "$2" "$3" "$4" ;; esac
Главные преимущества:
Безопасность A+: Шаблоны уже включают HSTS, защиту от XSS, сниффинга MIME-типов и блокировку популярных эксплойтов. Вы получаете A+ на SSL Labs по дефолту.
Cloudflare-friendly: Скрипт
./manage.sh update-cf-ipsсам скачивает актуальные подсети Cloudflare и обновляет конфигset_real_ip_from. Больше никаких левых IP в логах!Аналитика в терминале: Команда
./manage.sh topразберетaccess.logи покажет вам топ IP-адресов, долбящих ваш сервер прямо сейчас.Легковесность: Никаких Node.js или БД. Потребление памяти стремится к ресурсам голого Nginx.
💰 Профит
Вы получаете контроль. Когда что-то идет не так (а оно всегда идет), вы не дебажите базу данных веб-админки. Вы просто открываете чистые, аккуратно сгенерированные файлы в /nginx/sites/ и сразу видите, где проблема.
Это решение для инженеров, которые ценят своё время, ресурсы сервера и предсказуемость инфраструктуры.
🚀 Попробуйте сами
Если вас тоже воротит от монструозных комбайнов для настройки простого проксирования — забирайте шаблон себе.
🔗 GitHub: Arlandaren/nginx-template
Клонируйте, разворачивайте, поднимайте сайты одной командой. Если этот репозиторий сэкономит вам хотя бы 10 минут жизни — закиньте звезду на GitHub. Это дико мотивирует пилить новые фичи в Open Source! ⭐
