teztun
Expose local services to internet via docker-compose. HTTPS, custom domains, no host config.
2.2K
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.
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
| Variable | What it does |
|---|---|
| TEZTUN_TOKEN | Service token from app.teztun.uz/tokens. Required. |
| TEZTUN_NO_UPDATE | Skip the CLI self-update check. Baked in as 1 — containers shouldn't self-modify. |
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
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
Compare at teztun.uz/#pricing.
Content type
Image
Digest
sha256:5b1819a25…
Size
8.3 MB
Last updated
about 1 month ago
docker pull asadullokhn/teztun