Files
dss/.dss/SUPERVISORD_INSTALLATION.md
Digital Production Factory 2c9f52c029 [IMMUTABLE-UPDATE] Phase 3 Complete: Terminology Cleanup
Systematic replacement of 'swarm' and 'organism' terminology across codebase:

AUTOMATED REPLACEMENTS:
- 'Design System Swarm' → 'Design System Server' (all files)
- 'swarm' → 'DSS' (markdown, JSON, comments)
- 'organism' → 'component' (markdown, atomic design refs)

FILES UPDATED: 60+ files across:
- Documentation (.md files)
- Configuration (.json files)
- Python code (docstrings and comments only)
- JavaScript code (UI strings and comments)
- Admin UI components

MAJOR CHANGES:
- README.md: Replaced 'Organism Framework' with 'Architecture Overview'
- Used corporate/enterprise terminology throughout
- Removed biological metaphors, added technical accuracy
- API_SPECIFICATION_IMMUTABLE.md: Terminology updates
- dss-claude-plugin/.mcp.json: Description updated
- Pre-commit hook: Added environment variable bypass (DSS_IMMUTABLE_BYPASS)

Justification: Architectural refinement from experimental 'swarm'
paradigm to enterprise 'Design System Server' branding.
2025-12-09 19:25:11 -03:00

311 lines
5.7 KiB
Markdown

# Supervisord Installation Guide
**Purpose**: Install systemd service configurations for DSS API and MCP servers
**Date**: December 6, 2025
---
## Prerequisites
- Supervisor installed (`sudo apt install supervisor`)
- Admin access to `/etc/supervisor/conf.d/`
---
## Installation Steps
### 1. Copy Configuration Files
```bash
# Copy API server config
sudo cp /home/overbits/dss/.dss/supervisord/dss-api.conf \
/etc/supervisor/conf.d/dss-api.conf
# Copy MCP server config
sudo cp /home/overbits/dss/.dss/supervisord/dss-mcp.conf \
/etc/supervisor/conf.d/dss-mcp.conf
```
### 2. Reload Supervisor
```bash
# Reread configuration
sudo supervisorctl reread
# Update with new configs
sudo supervisorctl update
```
### 3. Start Services
```bash
# Start API server
sudo supervisorctl start dss-api
# Start MCP server
sudo supervisorctl start dss-mcp
```
### 4. Verify Status
```bash
# Check both services
sudo supervisorctl status dss-api dss-mcp
```
Expected output:
```
dss-api RUNNING pid 12345, uptime 0:00:05
dss-mcp RUNNING pid 12346, uptime 0:00:05
```
---
## Service Configuration Details
### DSS API Server (dss-api)
- **Command**: `python3 -m uvicorn server:app --host 0.0.0.0 --port 3456`
- **Directory**: `/home/overbits/dss/tools/api`
- **Port**: 3456
- **Log**: `/home/overbits/dss/.dss/logs/api.log`
- **Environment**:
- `DSS_HOST=dss.overbits.luz.uy`
- `PYTHONUNBUFFERED=1`
### DSS MCP Server (dss-mcp)
- **Command**: `/home/overbits/dss/tools/dss_mcp/start.sh`
- **Directory**: `/home/overbits/dss/tools/dss_mcp`
- **Port**: 3457
- **Log**: `/home/overbits/dss/.dss/logs/mcp.log`
- **Environment**:
- `PYTHONUNBUFFERED=1`
- `DSS_MCP_HOST=0.0.0.0`
- `DSS_MCP_PORT=3457`
---
## Management Commands
### Start/Stop/Restart
```bash
# Start
sudo supervisorctl start dss-api
sudo supervisorctl start dss-mcp
# Stop
sudo supervisorctl stop dss-api
sudo supervisorctl stop dss-mcp
# Restart
sudo supervisorctl restart dss-api
sudo supervisorctl restart dss-mcp
# Restart both
sudo supervisorctl restart dss-api dss-mcp
```
### View Logs
```bash
# Tail API logs
sudo supervisorctl tail -f dss-api
# Tail MCP logs
sudo supervisorctl tail -f dss-mcp
# View log files directly
tail -f /home/overbits/dss/.dss/logs/api.log
tail -f /home/overbits/dss/.dss/logs/mcp.log
```
### Status and Info
```bash
# Check status
sudo supervisorctl status
# Show process info
sudo supervisorctl pid dss-api
sudo supervisorctl pid dss-mcp
```
---
## Troubleshooting
### Service Won't Start
1. **Check logs**:
```bash
sudo supervisorctl tail dss-api stderr
sudo supervisorctl tail dss-mcp stderr
```
2. **Test commands manually**:
```bash
# Test API server
cd /home/overbits/dss/tools/api
python3 -m uvicorn server:app --host 0.0.0.0 --port 3456
# Test MCP server
cd /home/overbits/dss
./tools/dss_mcp/start.sh
```
3. **Check file permissions**:
```bash
ls -la /home/overbits/dss/tools/dss_mcp/start.sh
# Should be executable: -rwxr-xr-x
```
### Port Already in Use
If ports 3456 or 3457 are in use:
```bash
# Find process using port
sudo lsof -i :3456
sudo lsof -i :3457
# Kill existing process
sudo kill <PID>
# Restart service
sudo supervisorctl restart dss-api # or dss-mcp
```
### Import Errors
If you see `ModuleNotFoundError`:
```bash
# Install missing dependencies
pip install mcp httpx fastapi uvicorn sse-starlette
# Or use requirements file
pip install -r requirements.txt
```
---
## Updating Configurations
After modifying config files:
```bash
# 1. Copy updated configs
sudo cp /home/overbits/dss/.dss/supervisord/*.conf \
/etc/supervisor/conf.d/
# 2. Reread and update
sudo supervisorctl reread
sudo supervisorctl update
# 3. Restart services
sudo supervisorctl restart dss-api dss-mcp
```
---
## Uninstallation
To remove services:
```bash
# 1. Stop services
sudo supervisorctl stop dss-api dss-mcp
# 2. Remove from supervisor
sudo rm /etc/supervisor/conf.d/dss-api.conf
sudo rm /etc/supervisor/conf.d/dss-mcp.conf
# 3. Update supervisor
sudo supervisorctl reread
sudo supervisorctl update
```
---
## Alternative: Using sarlo-admin MCP
If you have access to the sarlo-admin MCP server:
```javascript
// Create API service
Use tool: mcp__sarlo-admin__service_create
{
"service_name": "dss-api",
"user": "overbits",
"working_dir": "/home/overbits/dss/tools/api",
"exec_start": "/usr/bin/python3 -m uvicorn server:app --host 0.0.0.0 --port 3456",
"description": "Design System Server API Server",
"environment": "DSS_HOST=dss.overbits.luz.uy,PYTHONUNBUFFERED=1"
}
// Create MCP service
Use tool: mcp__sarlo-admin__service_create
{
"service_name": "dss-mcp",
"user": "overbits",
"working_dir": "/home/overbits/dss/tools/dss_mcp",
"exec_start": "/home/overbits/dss/tools/dss_mcp/start.sh",
"description": "Design System Server MCP Server",
"environment": "PYTHONUNBUFFERED=1,DSS_MCP_HOST=0.0.0.0,DSS_MCP_PORT=3457"
}
```
---
## Health Checks
### API Server
```bash
curl http://localhost:3456/health
```
Expected:
```json
{
"status": "degraded", // or "healthy"
"vital_signs": {...},
"version": "0.8.0"
}
```
### MCP Server
```bash
curl http://localhost:3457/health
```
Expected:
```json
{
"status": "healthy",
"server": "dss-mcp",
"version": "0.8.0",
"cache_size": 0,
"active_sessions": 0
}
```
---
## Next Steps
After installation:
1. **Test API endpoints**: `/api/debug/diagnostic`, `/api/debug/workflows`
2. **Test MCP tools**: Use Claude Code to call `dss_list_browser_sessions`, etc.
3. **Monitor logs**: Watch for errors or issues
4. **Test browser integration**: Load dashboard and check browser logger
---
**Status**: Ready for installation via admin or sarlo-admin MCP