Repolode
marvinvr

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. 1

    Добавьте сервис docktail в Compose с сокетом Docker и переменными Tailscale OAuth, а также присвойте метки контейнерам приложения

  2. 2

    Запустите стек

    docker compose up -d
  3. 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 обновляется ежедневно.

Похожие проекты

Лёгкий reverse proxy с WebUI, который автоматически настраивает маршруты для контейнеров Docker и Podman, управляет сертификатами Let's Encrypt и поддерживает SSO и остановку при простое.

4,2 тыс.+9 за неделю192GoOtherОбновлён позавчера

Самостоятельно размещаемая стартовая страница, которая автоматически находит и перечисляет сервисы, дашборды и документы из Docker, Kubernetes и Tailscale.

78+2 за неделю4GoApache-2.0Активно поддерживаетсяОбновлён позавчера

Самостоятельно разворачиваемый сетевой шлюз для домашней лаборатории и NAS: DDNS, проброс портов, reverse proxy, сертификаты ACME, WAF и многое другое в одном бинарном файле.

482+51 за неделю53GoApache-2.0Активно поддерживаетсяОбновлён 7 часов назад