File size: 2,581 Bytes
77169b4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Server configuration
server:
  # Host address to bind the server (0.0.0.0 listens on all interfaces)
  host: '0.0.0.0'
  # Port the server listens on. In hosted environments, PORT / WEB2API_SERVER_PORT can override this.
  port: 9000

auth:
  # Leave empty to disable API key authentication.
  # If set, all /{type}/v1/* requests must include a matching key.
  # Supports a single string, comma-separated string, or YAML list.
  api_key: ''

  # Leave empty to disable the config page.
  # File-backed mode writes back a hashed secret; env-override mode hashes it in memory only.
  config_secret: ''
  # Maximum number of failed login attempts before locking
  config_login_max_failures: 5
  # Duration in seconds to lock the config page after too many failed attempts
  config_login_lock_seconds: 600

browser:
  # Fixed path to fingerprint-chromium inside the container
  chromium_bin: '/opt/fingerprint-chromium/chrome'

  # Headless mode is not recommended for Claude; Xvfb virtual display is used by default
  headless: false

  # Disable sandbox inside containers to prevent Chromium startup failures due to permission restrictions
  no_sandbox: true

  # GPU is typically unavailable in container environments; explicitly disable it
  disable_gpu: true

  # GPU sandbox can also cause issues in some container environments
  disable_gpu_sandbox: true

  # Starting port number for CDP (Chrome DevTools Protocol) connections
  cdp_port_start: 9222
  # Number of CDP ports available
  cdp_port_count: 20

  # CDP readiness wait settings (tune for slow/cold starts in Docker)
  # Total wait time ≈ cdp_wait_max_attempts * cdp_wait_interval_seconds
  cdp_wait_max_attempts: 60
  cdp_wait_interval_seconds: 2.0
  # Per-attempt TCP connect timeout when probing the CDP port
  cdp_wait_connect_timeout_seconds: 2.0

scheduler:
  # Maximum number of tabs allowed to run concurrently
  tab_max_concurrent: 1
  # Interval in seconds for browser garbage collection
  browser_gc_interval_seconds: 300
  # Seconds of inactivity before a tab is considered idle
  tab_idle_seconds: 900
  # Number of browser instances to keep resident (pre-warmed)
  resident_browser_count: 1

claude:
  # URL to open when starting Claude (leave empty for default)
  start_url: ''
  # Custom API base URL (leave empty to use the default endpoint)
  api_base: ''
  # Model name mapping: public model id -> Claude upstream model id
  # Defaults are defined in ClaudePlugin.DEFAULT_MODEL_MAPPING.
  # Override or extend here as needed.
  model_mapping: {}

mock:
  # Port for the mock server
  port: 8002