-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
114 lines (109 loc) · 2.97 KB
/
Copy pathdocker-compose.yml
File metadata and controls
114 lines (109 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
---
services:
ssh-keygen:
image: alpine:3.23.0
command:
- sh
- -c
- |
apk add --no-cache openssh-keygen
if [ ! -f /keys/id_rsa ]; then
echo "Generating SSH keys for demo..."
ssh-keygen -t rsa -b 2048 -f /keys/id_rsa -N ""
chmod 600 /keys/id_rsa
chmod 644 /keys/id_rsa.pub
echo "✓ SSH keys generated in .ssh-keys/"
else
echo "✓ Using existing SSH keys from .ssh-keys/"
fi
volumes:
- ./.ssh-keys:/keys
ubuntu-gui:
build:
context: .
dockerfile: Dockerfile.ubuntu-gui
hostname: ubuntu-gui
environment:
DISPLAY: :1
SCREEN_RESOLUTION: 1280x720
SCREEN_DEPTH: 24
INFER_COMPUTER_USE_ENABLED: "true"
INFER_COMPUTER_USE_SCREENSHOT_ENABLED: "true"
INFER_COMPUTER_USE_SCREENSHOT_STREAMING_ENABLED: "true"
INFER_COMPUTER_USE_SCREENSHOT_CAPTURE_INTERVAL: "3"
INFER_COMPUTER_USE_SCREENSHOT_BUFFER_SIZE: "30"
INFER_COMPUTER_USE_MOUSE_MOVE_ENABLED: "true"
INFER_COMPUTER_USE_MOUSE_CLICK_ENABLED: "true"
INFER_COMPUTER_USE_KEYBOARD_TYPE_ENABLED: "true"
volumes:
- ubuntu-home:/home/ubuntu
- ./.ssh-keys/id_rsa.pub:/tmp/authorized_keys:ro
networks:
- computer-use-network
depends_on:
ssh-keygen:
condition: service_completed_successfully
healthcheck:
test:
- CMD
- pgrep
- Xvfb
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
cli:
image: ghcr.io/inference-gateway/cli:latest
hostname: cli
environment:
INFER_GATEWAY_URL: http://inference-gateway:8080
INFER_WEB_ENABLED: true
INFER_WEB_HOST: 0.0.0.0
INFER_WEB_PORT: 3000
INFER_AGENT_MODEL: anthropic/claude-sonnet-4.5
INFER_WEB_SSH_INSTALL_VERSION: 0.96.0
INFER_WEB_SSH_AUTO_INSTALL: true
ports:
- "3000:3000"
volumes:
- ./.infer:/home/infer/.infer
- ./.ssh-keys:/home/infer/.ssh:ro
networks:
- computer-use-network
depends_on:
ssh-keygen:
condition: service_completed_successfully
ubuntu-gui:
condition: service_healthy
inference-gateway:
condition: service_started
entrypoint:
- /bin/sh
- -c
command:
- |
echo 'Waiting for Ubuntu GUI server to be ready...'
sleep 5
echo 'Starting Inference Gateway CLI in web mode...'
infer chat --web
restart: unless-stopped
inference-gateway:
image: ghcr.io/inference-gateway/inference-gateway:latest
hostname: inference-gateway
environment:
PORT: 8080
LOG_LEVEL: info
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
GOOGLE_API_KEY: ${GOOGLE_API_KEY:-}
networks:
- computer-use-network
restart: unless-stopped
volumes:
ubuntu-home:
driver: local
gateway-data:
driver: local
networks:
computer-use-network:
driver: bridge