1.6 KiB
1.6 KiB
name, description, metadata
| name | description | metadata | ||||||
|---|---|---|---|---|---|---|---|---|
| ttyd | Share terminal over the web via WebSocket |
|
TTYD Skill
Installs ttyd - a simple command-line tool for sharing terminal over the web.
Features
- Share any command-line program over the web
- WebSocket-based, low latency
- SSL/TLS support
- Basic authentication
- Customizable terminal options
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
TTYD_PORT |
Port to listen on | 7681 |
TTYD_COMMAND |
Command to run | /bin/bash |
TTYD_CREDENTIAL |
Basic auth (user:pass) | (none) |
TTYD_OPTIONS |
Additional ttyd options | (none) |
TTYD_DOMAIN |
Domain for Caddy auto-config | (none) |
Usage
As a dependency
metadata:
vibestack:
requires:
- ttyd
Standalone
# Start with default shell
./scripts/run.sh
# With authentication
TTYD_CREDENTIAL="admin:secret" ./scripts/run.sh
# Custom command
TTYD_COMMAND="htop" ./scripts/run.sh
Auto-configuration with Caddy
If the caddy skill is present, ttyd will automatically register itself:
# Set domain for auto-config
TTYD_DOMAIN="terminal.example.com"
This creates a snippet in caddy/snippets.d/ttyd.caddy that Caddy imports on startup.
Manual Caddy Config
If not using auto-config:
terminal.example.com {
reverse_proxy localhost:7681
}
Security
For production use:
- Always use
TTYD_CREDENTIALfor authentication - Put behind Caddy/nginx for HTTPS
- Consider network isolation