-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
96 lines (92 loc) · 3.36 KB
/
Copy pathcompose.yaml
File metadata and controls
96 lines (92 loc) · 3.36 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
name: cmdop-live-demo
services:
demo:
build:
context: .
# Cmdop is installed from the unpinned official installer. Disable the
# layer cache so every build resolves the current release.
no_cache: true
pull: true
args:
HOST_UID: ${HOST_UID:-1000}
HOST_GID: ${HOST_GID:-1000}
CMDOP_BROWSER: ${CMDOP_BROWSER:-1}
image: cmdop-live-demo:local
init: true
# Headless Chromium maps renderer memory into /dev/shm; the Docker
# default of 64 MB crashes it on heavy pages.
shm_size: "1gb"
restart: unless-stopped
environment:
CMDOP_ROUTER_API_KEY: ${CMDOP_API_KEY:-}
CMDOP_PERMISSIONS_MODE: ${CMDOP_PERMISSIONS_MODE:-default}
CMDOP_MACHINE_NAME: ${CMDOP_MACHINE_NAME:-cmdop-live-demo}
CMDOP_AGENT_CWD: ${CMDOP_AGENT_CWD:-/workspace/demo}
CMDOP_RELAY_MODE: ${CMDOP_RELAY_MODE:-auto}
CMDOP_PUBLIC_SUBDOMAIN: ${CMDOP_PUBLIC_SUBDOMAIN:-}
VITE_USE_POLLING: ${VITE_USE_POLLING:-true}
VITE_POLL_INTERVAL_MS: ${VITE_POLL_INTERVAL_MS:-300}
VITE_HMR_CLIENT_PORT: ${VITE_HMR_CLIENT_PORT:-}
VITE_CMDOP_CONSOLE_PORT: ${CMDOP_HOST_PORT:-63141}
GIT_DIR: /workspace/.git
GIT_WORK_TREE: /workspace/demo
CMDOP_GIT_AUTHOR_NAME: ${CMDOP_GIT_AUTHOR_NAME:-Cmdop Agent}
CMDOP_GIT_AUTHOR_EMAIL: ${CMDOP_GIT_AUTHOR_EMAIL:-agent@cmdop.local}
secrets:
- cmdop_admin_password
ports:
- "${HOST_BIND_ADDRESS:-127.0.0.1}:${DEMO_HOST_PORT:-8080}:5173"
- "${HOST_BIND_ADDRESS:-127.0.0.1}:${CMDOP_HOST_PORT:-63141}:63141"
volumes:
- cmdop_state:/home/cmdop
- ./config:/home/cmdop/.config/cmdop
- ./demo:/workspace/demo
- demo_git:/workspace/.git
- demo_node_modules:/workspace/demo/node_modules
stop_grace_period: 20s
# Agent mode: this container is ONE MORE MACHINE enrolled into an EXISTING
# Cmdop server — no embedded server, no demo, no published ports. Start it
# explicitly (the default `docker compose up` is untouched):
#
# docker compose --profile agent up --build agent
#
# Requires CMDOP_SERVER_URL + CMDOP_ENROLL_PASSWORD in .env.
agent:
profiles: ["agent"]
# The machine name in the fleet derives from the hostname — a random
# container id makes an unrecognizable roster entry.
hostname: ${CMDOP_MACHINE_NAME:-cmdop-docker-agent}
build:
context: .
no_cache: true
pull: true
args:
HOST_UID: ${HOST_UID:-1000}
HOST_GID: ${HOST_GID:-1000}
CMDOP_BROWSER: ${CMDOP_BROWSER:-1}
image: cmdop-live-demo:local
init: true
# Headless Chromium (agent browser tools) needs more than the 64 MB default.
shm_size: "1gb"
restart: unless-stopped
environment:
CMDOP_CONTAINER_MODE: agent
CMDOP_SERVER_URL: ${CMDOP_SERVER_URL:-}
CMDOP_ENROLL_PASSWORD: ${CMDOP_ENROLL_PASSWORD:-}
CMDOP_SERVER_INSECURE: ${CMDOP_SERVER_INSECURE:-0}
CMDOP_ROUTER_API_KEY: ${CMDOP_API_KEY:-}
CMDOP_PERMISSIONS_MODE: ${CMDOP_PERMISSIONS_MODE:-default}
CMDOP_MACHINE_NAME: ${CMDOP_MACHINE_NAME:-cmdop-docker-agent}
CMDOP_AGENT_CWD: /workspace
volumes:
- cmdop_agent_state:/home/cmdop
- ./workspace:/workspace
stop_grace_period: 20s
volumes:
cmdop_state:
cmdop_agent_state:
demo_git:
demo_node_modules:
secrets:
cmdop_admin_password:
environment: CMDOP_ADMIN_PASSWORD