Skip to content

Release history

DockTail releases

Expose containers as Tailscale Services with labels

All releases

6 shown

1.4.0 Feature
Notable features
  • Ability to connect to a service using only funnel without running Services in the container
Full changelog

We now support using only funnel to connect to a service, without running any Services on that container.

Thanks for all the feedback 🙏

1.3.0 New feature
Notable features
  • IGNORE_SERVICE_NAMES env var protects named svc: services during regular reconciliation and shutdown cleanup
  • Normalization accepts both plain names (foo) and prefixed svc:foo format
Full changelog
  • add IGNORE_SERVICE_NAMES to protect named svc: services from DockTail reconciliation cleanup
  • apply the ignore list during both regular reconciliation and shutdown cleanup, with normalization so either foo or svc:foo works
  • document the new env var and add e2e coverage for a manually created protected service (svc:e2e-manual-protected)
1.2.0 New feature
Notable features
  • Publish a container as multiple distinct services simultaneously via different ports using `docktail.service.*` labels
Full changelog

First of all, thanks for all the feedback so far. Keep it coming! This feature came from a community request and adds the ability to publish a container as multiple different services at the same time through different ports. This can look something like this:

services:
  gluetun:
    image: gluetun:latest
    labels:
      - "docktail.service.enable=true"
      - "docktail.service.name=qbittorrent"
      - "docktail.service.port=8000"
      - "docktail.service.1.name=bitmagnet"
      - "docktail.service.1.port=8001"
1.1.0 Feature
Notable features
  • Removed requirement to publish host ports when exposing DockTail as a Tailscale Service
Full changelog

This release makes it a lot easier and more secure to use DockTail for your setup. You're no longer required to publish ports to the host for the to be published as a Tailscale Service!

You don't need to change anything and legacy setups should continue to work the same as before. Refer to the ReadMe to see how to use it without port publishing.

Thanks for all the positive feedback in the last few weeks! 🎉

1.0.0 New feature
Notable features
  • Label-based container discovery and service advertisement
  • HTTP, HTTPS (auto TLS), and TCP protocol support
  • OAuth integration for automatic service creation
Full changelog

Stable release of DockTail - automatically expose Docker containers as Tailscale Services using label-based configuration.

Highlights

  • Label-based container discovery and service advertisement
  • HTTP, HTTPS (auto TLS), and TCP protocol support
  • OAuth integration for automatic service creation
  • Tailscale Funnel for public internet access
  • Stateless Docker container with periodic reconciliation

Thanks to everyone who gave feedback and reported issues during early access!

Getting Started

See the README for setup instructions.

0.6.0 New feature
⚠ Upgrade required
  • Set environment variables `TAILSCALE_API_KEY`, `TAILSCALE_TAILNET`, and optionally `DEFAULT_SERVICE_TAGS` for sync functionality.
  • Add `docktail.tags` label to container definitions to have tags synced with Tailscale.
Notable features
  • Optional synchronization with Tailscale Control Plane API to create/update services
  • Sync tags from `docktail.tags` Docker label to Tailscale service definitions
Full changelog

This PR implements optional synchronization with the Tailscale Control Plane API. It allows DockTail to explicitly create service definitions and sync tags based on container labels. This ensures services are fully registered in the Admin Console, enabling the use of Service-level ACLs.

(basically, it does the other half of registering services.)

  • Configuration: Added TAILSCALE_API_KEY, TAILSCALE_TAILNET, and DEFAULT_SERVICE_TAGS environment variables.
  • Docker Client: Added parsing for a new docktail.tags label.
  • Tailscale Client: Implemented SyncServiceDefinition, which creates or updates the service definition.

🙏 Thanks @noahkiss

Beta — feedback welcome: [email protected]