66 lines
1.6 KiB
Markdown
66 lines
1.6 KiB
Markdown
---
|
|
name: supervisor
|
|
description: Process manager for running multiple skills concurrently
|
|
metadata:
|
|
version: "1.0.0"
|
|
vibestack:
|
|
main: true
|
|
---
|
|
|
|
# Supervisor Skill
|
|
|
|
Runs multiple skills as managed processes using [supervisord](http://supervisord.org/).
|
|
|
|
## Features
|
|
|
|
- Auto-discovers skills with `run.sh` scripts
|
|
- Manages process lifecycle (start, stop, restart)
|
|
- Log aggregation
|
|
- Process health monitoring
|
|
- Web UI for process management (optional)
|
|
|
|
## Auto-Discovery
|
|
|
|
On startup, supervisor scans `/skills/*/scripts/run.sh` and creates a program entry for each skill that has a `run.sh` script.
|
|
|
|
Skills can opt-out by setting `SUPERVISOR_SKIP=true` in their environment or by not having a `run.sh` script.
|
|
|
|
## Configuration
|
|
|
|
### Environment Variables
|
|
|
|
| Variable | Description | Default |
|
|
|----------|-------------|---------|
|
|
| `SUPERVISOR_HTTP_PORT` | Web UI port (0 = disabled) | `9001` |
|
|
| `SUPERVISOR_USER` | Web UI username | `admin` |
|
|
| `SUPERVISOR_PASSWORD` | Web UI password | `admin` |
|
|
| `SUPERVISOR_LOG_DIR` | Log directory | `/var/log/supervisor` |
|
|
|
|
### Per-Skill Configuration
|
|
|
|
Skills can provide a `.supervisor.conf` file in their directory to customize their process:
|
|
|
|
```ini
|
|
[program:my-skill]
|
|
priority=100
|
|
autostart=true
|
|
autorestart=true
|
|
startsecs=5
|
|
```
|
|
|
|
## Usage
|
|
|
|
Supervisor is typically the `main: true` skill that orchestrates other skills:
|
|
|
|
```bash
|
|
SKILL_URLS="https://git.../supervisor https://git.../caddy https://git.../ttyd"
|
|
MAIN_SKILL="supervisor"
|
|
```
|
|
|
|
## Web UI
|
|
|
|
Access at `http://localhost:9001` to:
|
|
- View process status
|
|
- Start/stop/restart processes
|
|
- View logs
|