Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Инфраструктура и сеть

Traefik

Reverse-proxy и балансировщик, который сам строит маршруты по docker-лейблам и выписывает TLS-сертификаты Let's Encrypt. Развернули v3.7.3 на тарифе CPU2-RAM4-DISK50, замерили потребление и проверили авто-дискавери на живом бэкенде.

Июнь 2026 ~10 минут чтения Fatmetal Team
Инфраструктура и сеть Лицензия: MIT Статус: запущен у нас, v3.7.3

Вердикт

Подходит
  • docker-окружению с частыми деплоями: новый сервис подхватывается без перезапуска прокси
  • тем, кому нужен автоматический TLS через Let's Encrypt из коробки
  • как единая точка входа для нескольких self-hosted сервисов на одном сервере
Не подходит
  • одному статическому сайту - проще nginx или Caddy
  • там, где нужен максимум производительности на отдаче статики
  • команде, не готовой к модели роутеры/сервисы/middleware
Мин. тариф: CPU2-RAM4-DISK50 Рекомендуем: CPU2-RAM4-DISK50 Сложность: medium Старт: ~6 c RAM в простое: ~14 MiB Главный риск: insecure-дашборд в проде
Что это

Что это и какую задачу решает

Traefik - это edge-router: принимает входящие HTTP и TCP запросы и раздает их вашим сервисам. Главное отличие от классического nginx в том, что Traefik сам обнаруживает сервисы. Вы запускаете контейнер с парой docker-лейблов, и маршрут появляется автоматически, без правки конфигов и перезапуска прокси.

Из коробки он умеет автоматический TLS через Let's Encrypt (ACME), веб-дашборд со схемой маршрутизации, middleware для аутентификации, заголовков, rate-limit и редиректов. Источником конфигурации может быть Docker, Kubernetes, Consul, файлы - так называемые провайдеры. Лицензия MIT, ядро полностью бесплатное.

GoDockerKubernetesLet's Encrypt / ACMEMIT
Сравнение

Чем отличается от платных решений

Сравнение с управляемыми балансировщиками облаков и проприетарными прокси по тому, что влияет на выбор.

ПараметрTraefikManaged LB / Nginx Plus
Модель ценыбесплатно, MITпо трафику или подписка
Авто-дискавери сервисовда, по лейбламобычно вручную
Авто-TLS (Let's Encrypt)встроенотдельная настройка
Где работаетваш сервер, без vendor lock-inпривязка к облаку/вендору
Дашборд маршрутовиз коробкизависит
Под капотом

Тех-стек и архитектура

Traefik - это один статический бинарь на Go, поэтому образ и потребление памяти небольшие. В нашем тесте это один контейнер. Модель конфигурации строится из четырех понятий: entrypoints (порты, на которых слушаем, например :80 и :443), routers (правила, по которым запрос попадает в сервис, например Host или PathPrefix), services (куда проксировать) и middlewares (преобразования запроса по пути).

Сервисы и правила Traefik берет у провайдеров. В docker-окружении это docker-лейблы на контейнерах: добавили лейбл с правилом маршрутизации - роутер появился. Для боевого TLS подключается провайдер сертификатов ACME, который сам получает и продлевает Let's Encrypt.

Конфигурация

Минимальная конфигурация

Реальные требования против официального минимума.

Официальный минимум RAMдесятки MiB
Реально в простое (наш замер)~13.6 MiB
Образ на диске244 MB
Рекомендуем тарифCPU2-RAM4-DISK50
Тариф FatmetalCPU2-RAM4-DISK50 - 500 руб/мес
i

Важно: сам Traefik почти ничего не ест - тарифа CPU2-RAM4-DISK50 за 500 руб/мес хватает с запасом. Память на сервере уйдет на сервисы за прокси, а не на сам прокси.

Развертывание

Развертывание на Fatmetal

Базовый путь - Fatmetal Cloud Server + Ubuntu 24.04 + Docker из маркетплейса.

  1. Создать VM

    Тариф CPU2-RAM4-DISK50, Ubuntu 24.04, приложение Docker из маркетплейса.

  2. Запустить Traefik

    docker network create web
    docker run -d --name traefik --network web \
      -p 80:80 -p 127.0.0.1:8080:8080 \
      -v /var/run/docker.sock:/var/run/docker.sock:ro \
      traefik:v3.7.3 \
      --api.dashboard=true \
      --providers.docker=true \
      --providers.docker.exposedbydefault=false \
      --entrypoints.web.address=:80
  3. Добавить сервис с лейблами

    docker run -d --name whoami --network web \
      -l traefik.enable=true \
      -l 'traefik.http.routers.whoami.rule=Host(`whoami.local`)' \
      traefik/whoami

    Маршрут появляется сам. Проверка: curl -H 'Host: whoami.local' http://localhost/ вернет ответ бэкенда.

Дашборд Traefik v3.7.3: entrypoints :8080 и :80, 3 HTTP-роутера, 4 сервиса, 2 middleware, все в статусе success
Реальный дашборд Traefik v3.7.3 на тарифе CPU2-RAM4-DISK50: entrypoints, 3 роутера, 4 сервиса, все зеленое. Кликните, чтобы открыть на весь экран.
Замеры

Что измерили после запуска

Цифры со свежей установки на тарифе CPU2-RAM4-DISK50, без нагрузки.

Скачивание образа9 c (~53 MB сжатым слоем)
Старт до рабочего дашборда6 c
RAM в простое (Traefik)~13.6 MiB
Образ на диске244 MB
Роутеров в дашборде3 (api, dashboard, whoami)
i

Главное: сам прокси в простое держит около 14 MiB и стартует за считаные секунды. Это один из самых легких компонентов в стеке - ресурсы сервера почти целиком остаются вашим сервисам.

Проверено на версии v3.7.3 (Go 1.25), июнь 2026. На новых версиях результаты могут отличаться.

Подводные камни

Где может сломаться

Реальные грабли, на которые стоит обратить внимание при запуске.

!

Insecure-дашборд. Флаг --api.insecure=true удобен для теста, но в проде открывает дашборд без пароля. На боевом сервере дашборд закрывают basic-auth middleware и не публикуют наружу.

!

Доступ к docker.sock. Провайдер Docker читает сокет демона. Монтируйте его только в режиме чтения (:ro) и помните, что доступ к сокету - это фактически root на хосте.

404 page not found

Причина. Запрос пришел на entrypoint, но ни один роутер не совпал: либо у контейнера нет лейбла traefik.enable=true, либо правило Host не то.

Решение. Проверьте лейблы и список роутеров в дашборде или через curl localhost:8080/api/http/routers.

Безопасность

Безопасность и обновления

Security advisories выходят на GitHub проекта. Перед продом закройте дашборд аутентификацией, включите TLS на entrypoint :443 и настройте ACME для автоматических сертификатов. Обновление сводится к смене тега образа:

docker pull traefik:v3.7.3 && docker rm -f traefik && docker run -d ... traefik:v3.7.3

Конфигурация Traefik декларативна (флаги, файл или лейблы), поэтому бэкап - это бэкап вашего compose-файла и статического конфига. Сертификаты ACME лежат в смонтированном acme.json - его тоже стоит сохранять.

Рядом

Связь с другими стеками

  • Сервисы за прокси - Traefik удобно ставить единой точкой входа перед Plausible, Twenty CRM и другими self-hosted сервисами на одном сервере.
  • Мониторинг - Traefik экспортит метрики в формате Prometheus, дальше Grafana для дашбордов.
  • Альтернативы - если динамики мало, ту же роль закроют Caddy или Nginx Proxy Manager.
Честно

Когда это НЕ ваш выбор

Один статический сайт

Если у вас один сайт без динамики, авто-дискавери не нужен - проще и быстрее поднять nginx или Caddy.

Максимум производительности на статике

На голой отдаче статики и предельных RPS специализированные nginx или HAProxy показывают себя лучше.

Окружение без контейнеров

Главная сила Traefik - провайдеры (Docker, Kubernetes). Без них вы теряете именно то, ради чего его берут.

FAQ

Частые вопросы

Сколько Traefik ест в простое?

В нашем замере около 13.6 MiB RAM - это один из самых легких компонентов стека.

Хватит ли тарифа CPU2-RAM4-DISK50?

Самому прокси хватает с запасом. CPU2-RAM4-DISK50 за 500 руб/мес покрывает Traefik плюс несколько сервисов за ним.

Можно сразу в продакшен?

Перед продом закройте дашборд аутентификацией, включите TLS на :443 и настройте ACME. Insecure-дашборд из примера - только для теста.

Нужен ли Docker?

Нет, Traefik работает и с Kubernetes, Consul или файловым конфигом. Но именно с Docker авто-дискавери раскрывается проще всего.

Как обновлять?

Сменить тег образа и пересоздать контейнер. Конфигурация декларативна, миграций состояния нет.

Чем отличается от nginx?

Traefik сам обнаруживает сервисы по лейблам и сам выписывает TLS. Nginx быстрее на статике, но требует ручного конфига.

Какая лицензия?

MIT, ядро полностью бесплатное и для коммерческого использования. Платный только облачный Traefik Hub.

Итог

Traefik v3.7.3 - легкий и удобный reverse-proxy для docker-окружений: ~14 MiB в простое, старт за секунды, маршруты по лейблам без перезапуска и авто-TLS из коробки. Берите его, когда на сервере несколько сервисов и частые деплои; для одного статического сайта достаточно nginx.

Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.

Спросить инженера в TelegramМы на связи