Files
agent-estate-wiki/systems/headless-server.md
T

41 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Headless Server
type: system
status: active
created: 2026-07-22
updated: 2026-07-22
verified_on: 2026-07-22
confidence: high
tags: [system, browser]
sources: [raw/configs/hermes-config-sanitized.txt]
---
# Headless Server
## Purpose
Headless X11 environment backing Hermes's browser automation and any GUI tooling.
## Location
- **Host:** this container (ct460, `hermes`), no separate VM/LXC — headless stack runs directly alongside the agent.
- **Display:** `Xvfb :99`, resolution `1600x1200x24`, started with `-ac -nolisten tcp`
## Current configuration (verified via `ps aux`, 2026-07-22)
| Process | Detail |
|---|---|
| `Xvfb` | `:99 -screen 0 1600x1200x24 -ac -nolisten tcp` |
| `fluxbox` | window manager on `:99` |
| `x11vnc` | `-display :99 -forever -shared -rfbport 5901 -rfbportv6 5901 -noxdamage -quiet -nopw`**no VNC password set** |
| `websockify` ×2 | `127.0.0.1:6080 → 127.0.0.1:5900` and `127.0.0.1:6081 → 127.0.0.1:5901`, serving noVNC (`/usr/share/novnc`) |
Two VNC/websockify pairs exist (5900/6080 and 5901/6081) — the second (`:99`→5901→6081) is the one confirmed above; the first (5900→6080) predates it and wasn't independently re-verified this pass — **unresolved** whether it's a second live display or a leftover process.
## Connected systems
- [[systems/hermes-agent]] (browser backend uses this display — see [[systems/browser-backend]] / [[comparisons/camoufox-vs-chrome]])
- [[infrastructure/hosts]]
## Known issues
- `x11vnc -nopw`: VNC is unauthenticated. It's bound to all interfaces (`0.0.0.0:5901` and `[::]:5901`), not just loopback — reachable from the LAN and, if any tunnel/firewall rule forwards it, potentially beyond. Worth restricting to loopback or adding `-passwd`/`-rfbauth` if this hasn't been a deliberate choice.
## Relevant runbooks
- [[runbooks/restart-browser]]