Skip to content

Commit 4a48913

Browse files
committed
Added lightweight deployment: dockerized devtools panel + external browser
1 parent 6bd384c commit 4a48913

2 files changed

Lines changed: 100 additions & 0 deletions

File tree

docker/Makefile

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Makefile for Browser Operator Core
2+
# Provides DevTools frontend + Agent Server deployments
3+
4+
.PHONY: help build devtools-up up down logs status chrome
5+
6+
help: ## Show this help
7+
@echo "Browser Operator Core - Docker Deployments"
8+
@echo "==========================================="
9+
@echo ""
10+
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " %-12s %s\n", $$1, $$2}'
11+
@echo ""
12+
@echo "Deployment options:"
13+
@echo " Type 1: make devtools-up # DevTools only (AUTOMATED_MODE=true by default)"
14+
@echo " Type 2: make up # DevTools + Agent Server (lightweight)"
15+
@echo ""
16+
@echo "Full build (includes agent-server in image):"
17+
@echo " make build && docker-compose up -d"
18+
@echo ""
19+
@echo "For manual debugging mode (Type 1 without API key bypass):"
20+
@echo " docker-compose build --build-arg AUTOMATED_MODE=false && make devtools-up"
21+
22+
build: ## Build full image (DevTools + Agent Server baked in)
23+
docker-compose build
24+
25+
devtools-up: ## Start DevTools only (Type 1)
26+
docker-compose up -d
27+
@echo ""
28+
@echo "DevTools UI: http://localhost:8000"
29+
30+
up: ## Start DevTools + Agent Server (Type 2 - lightweight)
31+
docker-compose -f docker-compose.lightweight.yml up -d
32+
@echo ""
33+
@echo "Services:"
34+
@echo " DevTools: http://localhost:8000"
35+
@echo " Agent API: http://localhost:8080"
36+
@echo " Agent WS: ws://localhost:8082"
37+
38+
down: ## Stop all containers
39+
docker-compose -f docker-compose.lightweight.yml down 2>/dev/null || true
40+
docker-compose down 2>/dev/null || true
41+
42+
logs: ## Show logs
43+
docker-compose -f docker-compose.lightweight.yml logs -f 2>/dev/null || docker-compose logs -f
44+
45+
status: ## Show container status
46+
@docker ps --filter "name=browser-operator"
47+
48+
chrome: ## Launch Chrome Canary with custom DevTools
49+
"/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary" \
50+
--remote-debugging-port=9222 \
51+
--remote-allow-origins="*" \
52+
--auto-open-devtools-for-tabs \
53+
--user-data-dir=/tmp/chrome-debug-profile \
54+
--custom-devtools-frontend=http://localhost:8000/
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Lightweight deployment: DevTools + Agent Server (no full build required)
2+
# Uses pre-built DevTools image + separate Agent Server container
3+
#
4+
# Usage:
5+
# docker-compose -f docker-compose.lightweight.yml up -d
6+
7+
services:
8+
devtools:
9+
image: browser-operator-devtools:latest
10+
container_name: browser-operator-devtools
11+
ports:
12+
- "8000:8000"
13+
volumes:
14+
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
15+
restart: unless-stopped
16+
networks:
17+
- devtools-network
18+
19+
agent-server:
20+
image: node:18-alpine
21+
container_name: browser-operator-agent
22+
working_dir: /app
23+
volumes:
24+
- ../agent-server/nodejs:/app:ro
25+
- agent-data:/app/clients
26+
command: ["node", "start.js"]
27+
ports:
28+
- "8080:8080"
29+
- "8082:8082"
30+
environment:
31+
- NODE_ENV=production
32+
- HOST=0.0.0.0
33+
- PORT=8082
34+
- API_PORT=8080
35+
- CDP_HOST=host.docker.internal
36+
- CDP_PORT=9222
37+
restart: unless-stopped
38+
networks:
39+
- devtools-network
40+
41+
volumes:
42+
agent-data:
43+
44+
networks:
45+
devtools-network:
46+
driver: bridge

0 commit comments

Comments
 (0)