Repolode
marvinvr

marvinvr/docktail

Expõe contêineres Docker como Tailscale Services usando labels docktail.*, sem dispositivos Tailscale por contêiner nem portas publicadas.

Alternativa open source a:TSDProxy

Estrelas
1,408
Forks
51
Issues abertas
12
Último commit
há 12 horas

O que é?

O DockTail monitora contêineres Docker, lê labels docktail.* e publica os contêineres correspondentes como Tailscale Services nativos. Por padrão, os apps não precisam publicar portas do Docker, pois o DockTail faz proxy diretamente para os IPs dos contêineres na rede Docker.

Ele oferece suporte a serviços HTTP, HTTPS, TCP e TCP com terminação TLS, além de PROXY protocol opcional para que os backends vejam o IP do cliente na tailnet, e Tailscale Funnel para acesso público. Um único contêiner pode expor vários serviços, e o DockTail os reconcilia automaticamente quando os contêineres são reiniciados ou seus IPs mudam. As credenciais são fornecidas por OAuth ou por uma API key, e o projeto pode ser executado como contêiner, binário estático ou em configurações com Compose, Podman, Swarm e Kubernetes descritas na documentação.

O DockTail é escrito em Go e licenciado sob AGPL-3.0. Um painel hospedado opcional, o DockTail Cloud, pode receber metadados do agente quando uma key é definida; sem essa variável, o agente não faz conexões de saída para esse serviço.

Recursos principais

  • 01Descobre contêineres automaticamente com base em labels docktail.*.
  • 02Cria Tailscale Services usando credenciais OAuth ou API key.
  • 03Oferece suporte a HTTP, HTTPS, TCP e TCP com terminação TLS.
  • 04Oferece PROXY protocol opcional para que os backends vejam o IP do cliente na tailnet.
  • 05Disponibiliza Tailscale Funnel para acesso pela internet pública.
  • 06Permite que um contêiner exponha vários serviços e os reconcilia quando ele é reiniciado.

Casos de uso

  • Publicar um app web de homelab por HTTPS do Tailscale sem abrir portas no host.
  • Expor um banco de dados a clientes da tailnet por TCP.
  • Executar um proxy reverso que precisa do IP real do cliente na tailnet via PROXY protocol.
  • Deixar um endpoint de webhook acessível publicamente pelo Tailscale Funnel.

Início rápido

  1. 1

    Adicione um serviço Compose do docktail com o socket do Docker e as variáveis do Tailscale OAuth e rotule os contêineres do seu app

  2. 2

    Inicie a stack

    docker compose up -d
  3. 3

    Abra o app pela sua tailnet

    curl http://myapp.your-tailnet.ts.net

Antes de usar

  • Licenciado sob AGPL-3.0, uma licença copyleft que exige a divulgação do código-fonte de serviços de rede modificados.
  • O host do Docker precisa estar conectado ao Tailscale e ter permissão para anunciar serviços.
  • A criação automática de serviços requer credenciais do Tailscale OAuth ou uma chave de API.
  • Montar o socket do Docker permite que o contêiner acesse o daemon do Docker no host.

Em coleções

Tópicos

Perguntas frequentes

O que é docktail?
Expõe contêineres Docker como Tailscale Services usando labels docktail.*, sem dispositivos Tailscale por contêiner nem portas publicadas. O DockTail monitora contêineres Docker, lê labels docktail.* e publica os contêineres correspondentes como Tailscale Services nativos. Por padrão, os apps não precisam publicar portas do Docker, pois o DockTail faz proxy diretamente para os IPs dos contêineres na rede Docker.
docktail é gratuito? Qual é a licença?
docktail é open source sob a licença AGPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
docktail ainda é mantido?
Manutenção ativa. O último commit de docktail foi em 7 de nov. de 2026.
Para que posso usar docktail?
Publicar um app web de homelab por HTTPS do Tailscale sem abrir portas no host. Expor um banco de dados a clientes da tailnet por TCP. Executar um proxy reverso que precisa do IP real do cliente na tailnet via PROXY protocol. Deixar um endpoint de webhook acessível publicamente pelo Tailscale Funnel.
Como instalar docktail?
Adicione um serviço Compose do docktail com o socket do Docker e as variáveis do Tailscale OAuth e rotule os contêineres do seu app Inicie a stack: docker compose up -d Abra o app pela sua tailnet: curl http://myapp.your-tailnet.ts.net
Onde consigo docktail?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/marvinvr/docktail

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados