VM Control
PES Research Documentation
Last updated: March 2026 • 5 min read
VM Control
Dashboard memberikan status Digital Ocean Droplet research environment. VM adalah persistent droplet yang selalu aktif.
Dashboard Overview
| Component | Description |
|---|---|
| Status Indicator | VM power state (always running) |
| System Info | Environment details (IP, location) |
| Services | Health check status for each service |
VM States
| State | Color | Description |
|---|---|---|
| VM running | Green | Droplet ready (persistent) |
| DEGRADED | Yellow | Health check failed |
| OFFLINE | Red | Droplet unreachable |
Note: DO droplet adalah persistent VM — tidak bisa di-start/stop dari dashboard. Power control akan selalu return “not supported”.
VM Specifications
| Specification | Value |
|---|---|
| Name | pes-sandbox |
| Provider | Digital Ocean |
| Region | Singapore (sgp1) |
| Size | s-1vcpu-2gb |
| CPU | 1 vCPU |
| RAM | 2 GB |
| OS | Ubuntu 22.04 LTS |
| Public IP | 152.42.180.225 |
Services
| Service | Port | Description |
|---|---|---|
| ttyd Terminal | 7681 | Browser-based terminal |
| Nginx Edge | 80 | Reverse proxy (main host) |
Layanan lain (Grafana, Prometheus, cAdvisor, dll) berjalan di main host terpisah dari DO droplet.
Architecture
Browser → Cloudflare Pages (Astro SSR)
↓
Cloudflare Worker (pes-research-logic)
↓
Main Host (159.89.198.4) via lab.patabuga.co
↓
DO Droplet (152.42.180.225) — ttyd
Health Check Flow
- Dashboard poll
/api/statusvia Cloudflare Worker - Worker checks
https://lab.patabuga.co/health(main host nginx) - Worker returns VM status to dashboard
API Reference
Get VM Status
curl https://research.patabuga.co/api/status
Response:
{
"status": "VM running",
"vm": "pes-sandbox",
"ip": "152.42.180.225",
"location": "Singapore (sgp1)"
}
Get Services
curl https://research.patabuga.co/api/services
Power Control (Not Available)
curl -X POST https://research.patabuga.co/api/power \
-H "Content-Type: application/json" \
-d '{"action":"stop"}'
Response:
{
"success": false,
"error": "Power control not available for DO droplet"
}
SSH Access
Untuk akses SSH langsung ke DO droplet:
ssh -i ~/.ssh/id_ed25519 root@152.42.180.225
ssh -i ~/.ssh/id_ed25519 sboxuser@152.42.180.225
Note: Password sudo untuk sboxuser:
pes2024
Troubleshooting
Terminal Unreachable
Possible Causes:
- ttyd service down
- Network firewall
- UFW blocking
Solutions:
- Check VM status on Dashboard
- SSH into droplet:
ssh root@152.42.180.225 - Restart ttyd:
sudo systemctl restart ttyd - Check UFW:
sudo ufw status
Slow Performance
Possible Causes:
- High CPU/memory usage
- Network latency
Solutions:
- Check resource usage:
toporhtop - Close unnecessary processes
- Consider upgrading droplet size via DO console