71 lines
1.3 KiB
Markdown
71 lines
1.3 KiB
Markdown
---
|
|
name: ttyd
|
|
description: Share terminal over the web via WebSocket
|
|
metadata:
|
|
version: "1.0.0"
|
|
vibestack:
|
|
main: false
|
|
---
|
|
|
|
# TTYD Skill
|
|
|
|
Installs [ttyd](https://github.com/tsl0922/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) |
|
|
|
|
## Usage
|
|
|
|
### As a dependency
|
|
|
|
```yaml
|
|
metadata:
|
|
vibestack:
|
|
requires:
|
|
- ttyd
|
|
```
|
|
|
|
### Standalone
|
|
|
|
```bash
|
|
# Start with default shell
|
|
./scripts/run.sh
|
|
|
|
# With authentication
|
|
TTYD_CREDENTIAL="admin:secret" ./scripts/run.sh
|
|
|
|
# Custom command
|
|
TTYD_COMMAND="htop" ./scripts/run.sh
|
|
```
|
|
|
|
### With Caddy (HTTPS)
|
|
|
|
```caddyfile
|
|
terminal.example.com {
|
|
reverse_proxy localhost:7681
|
|
}
|
|
```
|
|
|
|
## Security
|
|
|
|
For production use:
|
|
1. Always use `TTYD_CREDENTIAL` for authentication
|
|
2. Put behind Caddy/nginx for HTTPS
|
|
3. Consider network isolation
|