asadullokhn/teztun

By asadullokhn

Updated about 1 month ago

Expose local services to internet via docker-compose. HTTPS, custom domains, no host config.

Image
Networking
0

2.2K

asadullokhn/teztun repository overview

TezTun Docker Pulls Image Size Architecture Website

Expose any container in your Compose stack to the internet through teztun.uz — no host port publishing, no router config, no tunnels daemon running on the host.

TezTun is a self-hosted alternative to ngrok and Cloudflare Tunnel. This image is the client. Traffic routes through the TezTun server at teztun.uz. Sign up at app.teztun.uz and mint a service token to use the image.


Quick start

services:
  app:
    image: acme/myapp
  tunnel:
    image: asadullokhn/teztun:latest
    environment:
      TEZTUN_TOKEN: ${TEZTUN_TOKEN}
    command: tcp app:3000
    restart: unless-stopped
echo "TEZTUN_TOKEN=tzt_your-token-here" > .env
docker compose up -d
docker compose logs tunnel

The logs show your https://...teztun.uz URL. That's it.

Full guide: teztun.uz/docs/docker-compose

Features

  • Sidecar pattern — drop into any compose file, no host changes
  • HTTPS by default — random subdomains on *.teztun.uz or bring your own domain
  • Stable URLs — reserve subdomains with --subdomain, or use custom domains with --domain
  • Self-recovering — if your upstream app goes down, the tunnel stays registered and resumes automatically when the app is back; visitors see a branded 503 page
  • Multi-arch — linux/amd64 and linux/arm64

Environment variables

VariableWhat it does
TEZTUN_TOKENService token from app.teztun.uz/tokens. Required.
TEZTUN_NO_UPDATESkip the CLI self-update check. Baked in as 1 — containers shouldn't self-modify.

Tag policy

Only :latest is published. Every release supersedes the previous one — there is no multi-version support matrix. If you need to know what's running:

docker compose exec tunnel teztun version

To update, pull the new image and re-up the service:

docker compose pull tunnel
docker compose up -d tunnel

Command reference

teztun tcp <host>:<port>                       # random subdomain
teztun tcp <host>:<port> --subdomain myapp    # myapp.teztun.uz (must be reserved)
teztun tcp <host>:<port> --domain myapp.com   # your custom domain (Max plan)
teztun version                                  # show version info

Pricing

  • Free — random subdomains, 6 hour sessions (tokens expire too fast for Docker; use Pro+)
  • Pro ($7/year) — 3 reserved subdomains, 3 day tokens, 7 tunnels
  • Max ($10/year) — 30 subdomains + custom domains, non-expiring tokens, 30 tunnels

Compare at teztun.uz/#pricing.

Tag summary

Content type

Image

Digest

sha256:5b1819a25

Size

8.3 MB

Last updated

about 1 month ago

docker pull asadullokhn/teztun