Documentation

Everything you need to know about stunl features, setup, and advanced usage

🚀

Getting Started

Quick start guide to get your first tunnel running in under a minute. Installation, basic commands, and your first tunnel.

Read guide →
📜

Project Config (stunl.yaml)

Define your entire dev stack in one file. Services, routing, auth, and environment presets — checked into git, shared with your team.

Configure →
🔌

Multi-Port Tunneling

Expose HTTP and TCP services on a single hostname. Perfect for full-stack apps with databases, APIs, and frontends.

Learn more →
💬

WebSocket Support

Real-time bidirectional communication. Use with Streamlit, Jupyter, Socket.io, and any WebSocket-based application.

See examples →
🔒

TCP Tunneling

Tunnel databases, SSH, game servers, or any TCP service. Get a dedicated port and hostname for your service.

View guide →
🌐

Custom Domains

Use your own domain with stunl. Configure DNS, root domain support, and custom subdomains.

Setup guide →

Kubernetes Controller

Native Kubernetes integration with Helm charts, CRDs, and annotations. Expose any service with one line.

Deploy now →
🔐

Password Protection

Secure your tunnels with HTTP Basic Authentication. Control access to your development work and demos.

Configure →
🛠

CLI Reference

Complete command-line reference. All flags, options, and configuration settings explained with examples.

Full reference →
📚

API Documentation

REST API reference for tunnel management, monitoring, and automation. Build integrations and tools.

API docs →
🚫

Reserved Names

List of tunnel IDs reserved by the system that cannot be used with the -id flag. Check before choosing a name.

View list →
👥

Teams

Team collaboration features: shared configs, integrations, inspector rules, subdomains, secrets, custom domains, and activity feeds.

Team guide →