Head device registry for kiosks, VR headsets, and tablets.
| Resource | Value |
|---|---|
| Server | hydrahead.experiencenet.com |
| IP | 5.75.148.250 |
| Config | /root/.hydrahead/config.yaml |
| Data store | YAML store at /root/.hydrahead/heads/ |
| Service | systemctl status hydrahead |
| Logs | journalctl -u hydrahead -f |
| SSH | ssh root@5.75.148.250 (default key) |
| Not in HydraCluster | This server is standalone — not enrolled as a cluster node |
HydraHead manages head device registration. Head devices are kiosk/display endpoints that receive streams from render nodes (Hydra Bodies) via Sunshine/Moonlight. This is a light service focused on tracking which devices are available, where they are assigned, and how they are configured for streaming.
Streaming architecture:
Admin token is in /root/.hydrahead/config.yaml on the server.
# List all heads
curl https://hydrahead.experiencenet.com/api/v1/heads
# Get a specific head
curl https://hydrahead.experiencenet.com/api/v1/heads/<id>
# Create a head (auth required)
curl -X POST -H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{"id":"my-kiosk","name":"My Kiosk","type":"kiosk","district":"bxl1","venue":"test","stream":{"stream_url":"<body-ip>","stream_app_id":"<app-name>"}}' \
https://hydrahead.experiencenet.com/api/v1/heads
# Update a head (auth required)
curl -X PUT -H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{"name":"My Kiosk","type":"kiosk","district":"bxl1","venue":"test","stream":{"stream_url":"<body-ip>","stream_app_id":"<app-name>"},"status":"enrolled"}' \
https://hydrahead.experiencenet.com/api/v1/heads/<id>
# Health check
curl https://hydrahead.experiencenet.com/api/v1/health
kiosk (standalone display), vr_headset (VR headset), tablet (mobile touchscreen)stream_url = body's IP, stream_app_id = Sunshine app name (must match apps.json on the body)providers:curl https://hydrahead.experiencenet.com/api/v1/headstasklist /FI "IMAGENAME eq sunshine.exe"curl -k -u sunshine:sunshine https://<body-ip>:47990/api/appstasklist /FI "IMAGENAME eq Moonlight*"Get-Content C:\WINDOWS\system32\config\systemprofile\.hydraheadwindows\hydraheadwindows.log -Tail 50Get-Content C:\Sunshine\config\sunshine.log -Tail 50If hydraheadwindows detects Moonlight as "running" but streaming isn't working, kill stale processes:
taskkill /F /IM Moonlight.exe
hydraheadwindows will relaunch Moonlight on its next tick (30s interval).
Moonlight must be paired with Sunshine before streaming. hydraheadwindows handles this automatically.
If pairing fails, check C:\WINDOWS\system32\config\systemprofile\.hydraheadwindows\pairing.yaml and delete it to force re-pairing.