Лёгкий reverse proxy с WebUI, который автоматически настраивает маршруты для контейнеров Docker и Podman, управляет сертификатами Let's Encrypt и поддерживает SSO и остановку при простое.
marvinvr/docktail
Публикует Docker-контейнеры как Tailscale Services с помощью меток docktail.* — без отдельных устройств Tailscale для каждого контейнера и опубликованных портов.
Open source альтернатива:TSDProxy
- Звёзды
- 1,408
- Форки
- 51
- Открытые issues
- 12
- Последний коммит
- 12 часов назад
Что это?
DockTail отслеживает Docker-контейнеры, читает метки docktail.* и публикует подходящие контейнеры как нативные Tailscale Services. По умолчанию приложениям не нужно публиковать Docker-порты: DockTail проксирует запросы напрямую на IP-адреса контейнеров в сети Docker.
Поддерживаются HTTP, HTTPS, TCP и TCP с завершением TLS, а также опциональный PROXY protocol, благодаря которому бэкенды могут видеть IP-адрес клиента в tailnet, и Tailscale Funnel для публичного доступа. Один контейнер может предоставлять несколько сервисов; DockTail автоматически согласует их конфигурацию после перезапуска контейнеров или изменения их IP-адресов. Для доступа используются учётные данные OAuth или API key. Проект можно запускать в контейнере, как статический бинарный файл или в конфигурациях Compose, Podman, Swarm и Kubernetes, описанных в документации.
DockTail написан на Go и распространяется по лицензии AGPL-3.0. Если задан ключ, опциональная облачная панель DockTail Cloud может получать метаданные от агента; без этой переменной агент не устанавливает исходящих соединений для этой цели.
Ключевые возможности
- 01Автоматически обнаруживает контейнеры по меткам docktail.*.
- 02Создаёт Tailscale services с учётными данными OAuth или API key.
- 03Поддерживает HTTP, HTTPS, TCP и TCP с завершением TLS.
- 04Поддерживает опциональный PROXY protocol, чтобы бэкенды видели IP-адрес клиента в tailnet.
- 05Предоставляет Tailscale Funnel для публичного доступа из интернета.
- 06Позволяет одному контейнеру предоставлять несколько сервисов и согласует их конфигурацию после перезапуска.
Сценарии использования
- Публикация веб-приложения из homelab через Tailscale HTTPS без открытия портов хоста.
- Предоставление доступа к базе данных по TCP клиентам в tailnet.
- Запуск reverse proxy, которому нужен настоящий IP-адрес клиента в tailnet через PROXY protocol.
- Публичная доступность webhook-эндпоинта через Tailscale Funnel.
Быстрый старт
- 1
Добавьте сервис docktail в Compose с сокетом Docker и переменными Tailscale OAuth, а также присвойте метки контейнерам приложения
- 2
Запустите стек
docker compose up -d - 3
Откройте приложение из своей tailnet
curl http://myapp.your-tailnet.ts.net
Что важно знать
- Лицензия AGPL-3.0 — это лицензия с авторским левом, требующая раскрытия исходного кода изменённых сетевых сервисов.
- Хост Docker должен быть подключён к Tailscale, а ему должно быть разрешено анонсировать сервисы.
- Для автоматического создания сервисов нужны учётные данные Tailscale OAuth или ключ API.
- Подключение сокета Docker даёт контейнеру доступ к демону Docker на хосте.
В подборках
Темы
Частые вопросы
- Что такое docktail?
- Публикует Docker-контейнеры как Tailscale Services с помощью меток docktail.* — без отдельных устройств Tailscale для каждого контейнера и опубликованных портов. DockTail отслеживает Docker-контейнеры, читает метки docktail.* и публикует подходящие контейнеры как нативные Tailscale Services. По умолчанию приложениям не нужно публиковать Docker-порты: DockTail проксирует запросы напрямую на IP-адреса контейнеров в сети Docker.
- docktail можно использовать бесплатно? Какая у него лицензия?
- docktail распространяется с открытым исходным кодом под лицензией AGPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- docktail всё ещё поддерживается?
- Активно поддерживается. Последний коммит в docktail — 7 нояб. 2026 г..
- Для чего можно использовать docktail?
- Публикация веб-приложения из homelab через Tailscale HTTPS без открытия портов хоста. Предоставление доступа к базе данных по TCP клиентам в tailnet. Запуск reverse proxy, которому нужен настоящий IP-адрес клиента в tailnet через PROXY protocol. Публичная доступность webhook-эндпоинта через Tailscale Funnel.
- Как установить docktail?
- Добавьте сервис docktail в Compose с сокетом Docker и переменными Tailscale OAuth, а также присвойте метки контейнерам приложения Запустите стек: docker compose up -d Откройте приложение из своей tailnet: curl http://myapp.your-tailnet.ts.net
- Где скачать docktail?
- Исходный код и инструкции по установке — на GitHub: https://github.com/marvinvr/docktail
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Самостоятельно размещаемая стартовая страница, которая автоматически находит и перечисляет сервисы, дашборды и документы из Docker, Kubernetes и Tailscale.
Платформа для домашнего сервера с самостоятельным размещением: защищённый reverse proxy, управление приложениями и шлюз с авторизацией, MFA, SSO и защитой от ботов.
Веб-интерфейс для самостоятельного управления маршрутами, middleware, сервисами, сертификатами и логами Traefik без ручного редактирования YAML.
Инструмент для автоматической настройки Docker и Docker Compose в домашней лаборатории: более 160 готовых self-hosted приложений, встроенные варианты обратного прокси и аутентификации.
Самостоятельно разворачиваемый сетевой шлюз для домашней лаборатории и NAS: DDNS, проброс портов, reverse proxy, сертификаты ACME, WAF и многое другое в одном бинарном файле.