带 WebUI 的轻量反向代理,可自动为 Docker 和 Podman 容器配置路由,并支持证书与休眠唤醒。
marvinvr/docktail
通过 docktail.* 标签把 Docker 容器暴露为 Tailscale Services,无需为每个容器占用 Tailscale 设备名额。
可替代:TSDProxy
- Star
- 1,402
- Fork
- 51
- 未关闭 Issue
- 12
- 最近提交
- 前天
这是什么?
DockTail 监听 Docker 容器,读取 docktail.* 标签,并把匹配的容器发布为原生 Tailscale Services。默认情况下应用无需发布 Docker 端口,DockTail 直接代理到容器在 Docker 网络中的 IP。
它支持 HTTP、HTTPS、TCP 以及 TLS 终止的 TCP 服务,可选开启 PROXY protocol,让后端看到 tailnet 客户端 IP,也支持通过 Tailscale Funnel 对公网开放。同一个容器可以暴露多个服务,容器重启或 IP 变化时会自动同步。凭据可使用 OAuth 或 API key,项目可以以容器、静态二进制的形式运行,也提供 Compose、Podman、Swarm 和 Kubernetes 的部署说明。
DockTail 使用 Go 编写,采用 AGPL-3.0 许可证。可选的 DockTail Cloud 托管面板在设置对应密钥后可接收代理上报的元数据,未设置时不会建立任何外连。
核心功能
- 01根据 docktail.* 标签自动发现容器。
- 02使用 OAuth 或 API key 凭据自动创建 Tailscale 服务。
- 03支持 HTTP、HTTPS、TCP 以及 TLS 终止的 TCP。
- 04可选 PROXY protocol,让后端获取 tailnet 客户端 IP。
- 05通过 Tailscale Funnel 提供公网访问。
- 06单个容器可暴露多个服务,并在重启后自动同步。
适用场景
- 在家庭实验室中通过 Tailscale HTTPS 发布 Web 应用,无需开放主机端口。
- 让 tailnet 内的客户端通过 TCP 访问数据库。
- 运行需要通过 PROXY protocol 获取真实 tailnet 客户端 IP 的反向代理。
- 借助 Tailscale Funnel 把 webhook 端点开放到公网。
快速上手
- 1
在 compose 文件中添加 docktail 服务(挂载 Docker 套接字并设置 Tailscale OAuth 变量),并为应用容器添加标签
- 2
启动服务栈
docker compose up -d - 3
从你的 tailnet 访问应用
curl http://myapp.your-tailnet.ts.net
使用前须知
- 采用 AGPL-3.0 许可证,这是一种 copyleft 许可证,修改后用于网络服务时需要公开源代码。
- Docker 主机必须已连接 Tailscale,并被允许发布服务。
- 自动创建服务需要 Tailscale OAuth 或 API 密钥凭据。
- 挂载 Docker 套接字会让容器访问宿主机的 Docker 守护进程。
收录于专题
标签
常见问题
- docktail 是什么?
- 通过 docktail.* 标签把 Docker 容器暴露为 Tailscale Services,无需为每个容器占用 Tailscale 设备名额。 DockTail 监听 Docker 容器,读取 docktail.* 标签,并把匹配的容器发布为原生 Tailscale Services。默认情况下应用无需发布 Docker 端口,DockTail 直接代理到容器在 Docker 网络中的 IP。
- docktail 可以免费使用吗?用的什么许可证?
- docktail 以 AGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
- docktail 还在维护吗?
- 活跃维护中。docktail 最近一次提交是在 2026年11月5日。
- docktail 适合用来做什么?
- 在家庭实验室中通过 Tailscale HTTPS 发布 Web 应用,无需开放主机端口。 让 tailnet 内的客户端通过 TCP 访问数据库。 运行需要通过 PROXY protocol 获取真实 tailnet 客户端 IP 的反向代理。 借助 Tailscale Funnel 把 webhook 端点开放到公网。
- docktail 怎么安装和运行?
- 在 compose 文件中添加 docktail 服务(挂载 Docker 套接字并设置 Tailscale OAuth 变量),并为应用容器添加标签 启动服务栈: docker compose up -d 从你的 tailnet 访问应用: curl http://myapp.your-tailnet.ts.net
- 在哪里获取 docktail?
- 源代码和安装说明在 GitHub 上:https://github.com/marvinvr/docktail
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个自托管的服务导航页,可从 Docker、Kubernetes、Tailscale 等来源自动发现并列出你的服务、仪表盘和文档。
自托管家庭服务器平台,兼具安全反向代理、应用管理和统一认证网关功能,内置 MFA 与防机器人保护。
自托管的 Traefik 反向代理网页管理界面,无需手动编辑 YAML 即可管理路由、中间件、证书和日志。
面向家庭实验室的自动化部署工具,基于 Docker 和 Docker Compose,内置 160 多款预配置应用。
面向家庭实验室和 NAS 的自托管网关,单个二进制集成 DDNS、端口转发、反向代理、证书和 WAF 等功能。