
Комментарии 37
Про докер хорошо написал. Лично слышал о людях, которые докер ставили ради 1 приложухи, что считаю крайне странным.
Ставить docker нужно не из-за одной приложухи, а из-за compose — как способа задания повторяемой текстовой конфигурации и самой приложухи, и среды её выполнения. А иначе, конечно, можно и podman'ом обойтись. ;)
Я тот человек, который ставил докер ради 1 приложухи (потом добавилась ещё куча приложений) :)
Философия моя проста – ОС на VPS это внешняя платформа, песочница для быстрого запуска и быстрого удаления разных приложений. Я могу что-то поставить, посмотреть, понять что мне это не нравится, и снести. И мне не хочется, чтобы последствия моих экспериментов вносили изменения в ОС, оставляли там следы, какие-то файлы конфигов, каталоги, и прочее. Хочется, чтобы система была всегда чистой и стабильной. Использование докера эту задачу полностью решает.
Нормальный сценарий. Тут оправдано.
А вот когда опытный вроде разраб разворачивает проект в десятке контейнеров по-модному и потом сам же не может это дело как надо донастроить на уровне докера – это уже маразм. Я такое не раз и не два наблюдал.
Ваш разраб не может донастроить - это по вашему проблемы докера? Ваша критика решений с использованием докера свелась к вкусовщине, суеверию, не знаю, к религиозной неприязни. Сделали вы нативно, хорошо, но надо пнуть докер, показать какой вы крутой, потому что прогрессивно не перености все эти ваши докеры на дух. Так себя это говорит о ваших компетенциях.
Причем тут мой разраб. Просто я видел такую ситуацию не раз. И именно к докеру вообще нет претензий. Претензии к людям, которые на ровном месте усложняют систему. Это далеко не только докеров касается в современной разработке, если что.
Какая разница, сколько приложух? Суть докера в том, что ты один раз описал конфиг и одной командой поднял то. что ожидаешь
Для подобных вещей стоит посмотреть в сторону Caddy с модулем L4.
Там это все настраивается существенно короче и интуитивнее.
Еще проще, чем здесь? Вроде и так не сложно.
Позже узнал, что такое через haproxy лучше делать. Что он ресурсов меньше ест. Но мне не нужен какой-то массовый сервис. Поэтому дальше ковыряться не пойду.
Я вот этим пользуюсь, но через Docker. Возможно, без него тоже заведётся: https://github.com/homeall/caddy-reverse-proxy-cloudflare
Caddy по моим наблюдениям (и по некоторым бенчмаркам) использует чуть больше памяти, чем nginx/haproxy при малом rps. Оптимизация может быть на спичках, но вместе с отказом от докера, при малой нагрузке можно запустить пару "экспериментов" даже на 512 мб озу.
Как сейчас дела со скоростью у Telemt? Ставил его ранее, и скорость загрузки файлов в Telegram не превышала 3Мбит/с
Очень муторно, докеры, нджинксы... MTG (https://github.com/9seconds/mtg) - один бинарный и конфиг на 2 строки. Собирается под винду, хотя и не выложен в секции релизов.
Не тестировал производительность, но её хватает для меня и нескольких людей
Ну TeleMT тоже один бинарный. А зачем вам этот мтж под виндой?
Сервер есть под виндой, заказывать отдельный сервер под это не хотелось. Искал варианты без питонов, докеров, node.js'ов и прочей херни, чтобы работало самостоятельно, короче.
Подошёл mtg в плане лёгкой сборки под винду - исходя из богатого списка поддерживаемых платформ пришёл к выводу, что наверное и под неё можно и не ошибся.
Возможно у TeleMT тоже так можно (и запустить без бубнов на любом порту без nginx и скомпилировать под винду), но из статьи это неочевидно.
Пробовали, скорость загрузки контента грусть, печаль
Это сколько? Может у нас разные представления какой должна быть скорость? Видосики с картинками грузятся как раньше, по ощущениям.
0-100 кб/сек :) Грузятся только сообщения можно сказать
...или как хроническое неприятие докера превратить в сношение мозгов.
У меня домашний сервер на docker с полностью автоматическим получением и обновлением сертификатов через traefik. Для каждого нового сервиса мне необходимо просто указать в docker-compose внешнюю сеть traefik и прописать labels, буквально 8 строк. Всё, трафик завёрнут в https, сертификат получен и обновлён.
А ещё докер - это когда всё максимально упорядочено и лежит на своих местах. Всегда знаешь, где лежат данные, просто бэкапить, просто разворачивать копию на любом другом хосте. При грамотной настройке ещё и дополнительный уровень безопасности. Обособленность от ОС хоста, свобода экспериментировать, менять версии. Есть контроль над ресурсами при отсутствии падения скорости, как в случае с виртуализацией.
Что может не получится настроить в контейнере - тоже вопрос открытый. По факту, Dockerfile - это просто пошаговый процесс билда и установки требуемого софта. Compose - инструкция для запуска всего полученного.
Не понимаю вот этого вот неприятия, особенно для серверов.
Действительно помогает?
У меня так Vless+xhttp+reality сделано, но ещё проверяет - если SNI отличается, то маршрутизирует на сайт лендинг. Сказать, что это сильно всё сильно помогло? Нет, почти не помогло, но 4 часа из жизни потратил)) По этому и уточняю, как работает?
UPDATE. Добавил proxy_protocol = true в секцию [server] telemt.toml + proxy_protocol on в секцию stream/server stream-sni.conf.
Чтобы IP адреса подключений нормально доходили до telemt.
Очень интересно про SNI роутинг, но у меня сомнения что данная конфигурация работает с маскировкой.
Оригинальная идея telem с fake tls в том, что подставляется "безобидный" домен в tls поле sni, за счет этого наблюдатель (мы понимаем, про кого) может полезть на "безобидный" сайт и убедиться, что все по закону более чем по конституции. Однако у вас в конфиге телемт в этом поле как раз тот прокси сайт. То есть в этом отношении маскировки нет. Без этого, как я понял, как раз не будет работать пре-роутинг 60-stream-sni.conf . У телемт для этого есть mask_host, который не задействован в вашей конфигурации. Вот он по идее должен указывать на https://one.mydomain.ru - но совсем не уверен, что это сработает, потому что попытка связаться, возможно, будет идти с оригинальным сертификатом (это декларируется на сайте проекта), который выдан на two - то есть опять полезет на себя же в рекурсию.
Это теоретические размышления. На практике - работает ли маскировка? Из браузера на two.mydomain.ru видно содержимое от one.mydomain.ru или все-таки я прав в рассуждениях?
Мне кажется, что может сработать, если указать mask_host 127.0.0.1 mask_port 8443 - минуя sni секцию в nginx сразу идти на локальный HTTPS от "безобидного" сервиса.
Мне кажется, что может сработать, если указать mask_host 127.0.0.1 mask_port 8443 - минуя sni секцию в nginx сразу идти на локальный HTTPS от "безобидного" сервиса.
У меня именно так и сделано, работает.
На момент публикации статьи работало именно так, как опубликовано. Сейчас уже конфиг видоизменился сильно. Скоро думаю еще одну статью сделаю, расскажу-покажу.

TeleMT без докера, но со SNI-роутингом своими руками