47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
|
|
version: "3.9"
|
||
|
|
|
||
|
|
# Sandboxed desktop environment for Hermes computer-use primitives.
|
||
|
|
# Provides Xvfb (virtual framebuffer) + noVNC (browser-accessible VNC).
|
||
|
|
#
|
||
|
|
# Usage:
|
||
|
|
# docker compose -f docker-compose.desktop.yml up -d
|
||
|
|
# # Visit http://localhost:6080 to see the virtual desktop
|
||
|
|
#
|
||
|
|
# docker compose -f docker-compose.desktop.yml run hermes-desktop \
|
||
|
|
# python -m nexus.computer_use_demo
|
||
|
|
#
|
||
|
|
# docker compose -f docker-compose.desktop.yml down
|
||
|
|
|
||
|
|
services:
|
||
|
|
hermes-desktop:
|
||
|
|
image: dorowu/ubuntu-desktop-lxde-vnc:focal
|
||
|
|
environment:
|
||
|
|
# Resolution for the virtual display
|
||
|
|
RESOLUTION: "1280x800"
|
||
|
|
# VNC password (change in production)
|
||
|
|
VNC_PASSWORD: "hermes"
|
||
|
|
# Disable HTTP password for development convenience
|
||
|
|
HTTP_PASSWORD: ""
|
||
|
|
ports:
|
||
|
|
# noVNC web interface
|
||
|
|
- "6080:80"
|
||
|
|
# Raw VNC port (optional)
|
||
|
|
- "5900:5900"
|
||
|
|
volumes:
|
||
|
|
# Mount repo into container so scripts are available
|
||
|
|
- .:/workspace
|
||
|
|
# Persist nexus runtime data (heartbeats, logs, evidence)
|
||
|
|
- nexus_data:/root/.nexus
|
||
|
|
working_dir: /workspace
|
||
|
|
shm_size: "256mb"
|
||
|
|
# Install Python deps on startup then keep container alive
|
||
|
|
command: >
|
||
|
|
bash -c "
|
||
|
|
pip install --quiet pyautogui Pillow &&
|
||
|
|
/startup.sh
|
||
|
|
"
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
nexus_data:
|
||
|
|
driver: local
|