File size: 1,400 Bytes
fabae1f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Mixed pool: VeilRender gateway + CloakBrowser (Chromium) + Camoufox (Firefox)
#
# Usage:
#   docker compose -f deploy/compose-pool-mixed.yaml up -d
#
# This gives dual-engine stealth coverage:
#   - CloakBrowser: stealth Chromium (CDP) via Patchright
#   - Camoufox: stealth Firefox (Playwright protocol)

services:
  veilrender:
    image: oaklight/veilrender:gateway
    container_name: veilrender
    restart: unless-stopped
    ports:
      - "7860:7860"
    environment:
      - VEILRENDER_API_TOKEN=${VEILRENDER_API_TOKEN:-changeme}
      - VEILRENDER_RESOURCE_FILTER=true
      - VEILRENDER_WORKERS=cdp://chromium-worker:9222,playwright://camoufox-worker:1234/ws
      - VEILRENDER_WORKER_MAX_CONCURRENT=${VEILRENDER_WORKER_MAX_CONCURRENT:-5}
      - VEILRENDER_WORKER_HEALTH_INTERVAL=${VEILRENDER_WORKER_HEALTH_INTERVAL:-10}
    volumes:
      - veilrender-data:/data
    depends_on:
      - chromium-worker
      - camoufox-worker
    deploy:
      resources:
        limits:
          memory: 512M

  chromium-worker:
    image: cloakhq/cloakbrowser
    restart: unless-stopped
    command: ["cloakserve"]
    deploy:
      resources:
        limits:
          memory: 1G

  camoufox-worker:
    build:
      context: .
      dockerfile: deploy/Dockerfile.camoufox
    restart: unless-stopped
    deploy:
      resources:
        limits:
          memory: 1G

volumes:
  veilrender-data: