- name: SE_SCREEN_WIDTH
  description: Use in Node to set the screen width
  cli: ''
- name: SE_SCREEN_HEIGHT
  description: Use in Node to set the screen height
  cli: ''
- name: SE_VIDEO_FILE_NAME
  description: Use in function video recording to set the output file name. Set `auto`
    for dynamic file name relying on test metadata
  cli: ''
- name: SE_FRAME_RATE
  description: Set the frame rate for FFmpeg in video recording
  cli: ''
- name: SE_CODEC
  description: Set the codec for FFmpeg in video recording
  cli: ''
- name: SE_PRESET
  description: Set the preset for FFmpeg in video recording
  cli: ''
- name: SE_VIDEO_UPLOAD_ENABLED
  description: Deprecated in event-driven mode (`video_service.py`); upload enablement
    is now derived from non-empty `SE_UPLOAD_DESTINATION_PREFIX`
  cli: ''
- name: SE_VIDEO_INTERNAL_UPLOAD
  description: Enable video upload using Rclone in the same recorder container
  cli: ''
- name: SE_UPLOAD_DESTINATION_PREFIX
  description: Remote name and destination path to upload
  cli: ''
- name: SE_UPLOAD_PIPE_FILE_NAME
  description: Set the pipe file name for video upload to consume
  cli: ''
- name: SE_SERVER_PROTOCOL
  description: Protocol for communication between components
  cli: ''
- name: SE_VIDEO_POLL_INTERVAL
  description: ''
  cli: ''
- name: SE_VIDEO_WAIT_ATTEMPTS
  description: ''
  cli: ''
- name: SE_VIDEO_FILE_READY_WAIT_ATTEMPTS
  description: ''
  cli: ''
- name: SE_VIDEO_WAIT_UPLOADER_SHUTDOWN_ATTEMPTS
  description: ''
  cli: ''
- name: SE_LOG_TIMESTAMP_FORMAT
  description: ''
  cli: ''
- name: SE_VIDEO_RECORD_STANDALONE
  description: ''
  cli: ''
- name: SE_NODE_PORT
  description: ''
  cli: --port
- name: SE_ROUTER_USERNAME
  description: Set the username for basic authentication
  cli: --username
- name: SE_ROUTER_PASSWORD
  description: Set the password for basic authentication
  cli: ''
- name: SE_SUPERVISORD_PID_FILE
  description: Default pid file will be created by supervisord
  cli: ''
- name: SE_DRAIN_AFTER_SESSION_COUNT
  description: Drain and detach node from grid after session count exceeds
  cli: --drain-after-session-count
- name: SE_SUB_PATH
  description: A sub-path that should be considered for all user facing routes on
    the Hub/Router/Standalone
  cli: --sub-path
- name: SE_NODE_GRID_URL
  description: Node config, public URL of the Grid as a whole (typically the address
    of the Hub or the Router)
  cli: --grid-url
- name: SE_HUB_HOST
  description: Hub config, host address the Hub should listen on
  cli: --host
- name: SE_ROUTER_HOST
  description: Router config, host address the Router should listen on
  cli: --host
- name: SE_HUB_PORT
  description: Hub config, port the Hub should listen on (default 4444)
  cli: --port
- name: SE_ROUTER_PORT
  description: Router config, port the Router should listen on (default 4444)
  cli: --port
- name: SE_NODE_GRID_GRAPHQL_URL
  description: Video recording config, GraphQL URL to query test metadata for dynamic
    file name
  cli: ''
- name: SE_VIDEO_FILE_NAME_TRIM_REGEX
  description: Python regex to trim the file name if it is too long
  cli: ''
- name: SE_VIDEO_FILE_NAME_SUFFIX
  description: Append a suffix session id along with test metadata
  cli: ''
- name: SE_RCLONE_CONFIG
  description: ''
  cli: ''
- name: SE_UPLOAD_COMMAND
  description: ''
  cli: ''
- name: SE_UPLOAD_OPTS
  description: ''
  cli: ''
- name: SE_UPLOAD_RETAIN_LOCAL_FILE
  description: ''
  cli: ''
- name: SE_VIDEO_UPLOAD_BATCH_CHECK
  description: ''
  cli: ''
- name: SE_RCLONE_
  description: ''
  cli: ''
- name: SE_OPTS
  description: This is used to pass any additional CLI options (which doesn't have
    environment variable representation) to the component. Refer to list supported
    options per component in [documentation](https://www.selenium.dev/documentation/grid/configuration/cli_options/)
  cli: ''
- name: SE_EVENT_BUS_HOST
  description: ''
  cli: ''
- name: SE_EVENT_BUS_PORT
  description: ''
  cli: ''
- name: SE_LOG_LEVEL
  description: Log level. Default logging level is INFO. Log levels are described
    [here](https://docs.oracle.com/en/java/javase/11/docs/api/java.logging/java/util/logging/Level.html)
  cli: --log-level
- name: SE_HTTP_LOGS
  description: ''
  cli: --http-logs
- name: SE_STRUCTURED_LOGS
  description: ''
  cli: --structured-logs
- name: SE_EXTERNAL_URL
  description: ''
  cli: --external-url
- name: SE_ENABLE_TLS
  description: ''
  cli: ''
- name: SE_JAVA_SSL_TRUST_STORE
  description: ''
  cli: ''
- name: SE_JAVA_OPTS
  description: ''
  cli: ''
- name: SE_JAVA_SSL_TRUST_STORE_PASSWORD
  description: ''
  cli: ''
- name: SE_JAVA_DISABLE_HOSTNAME_VERIFICATION
  description: ''
  cli: ''
- name: SE_HTTPS_CERTIFICATE
  description: ''
  cli: --https-certificate
- name: SE_HTTPS_PRIVATE_KEY
  description: ''
  cli: --https-private-key
- name: SE_ENABLE_TRACING
  description: ''
  cli: --tracing
- name: SE_OTEL_EXPORTER_ENDPOINT
  description: ''
  cli: -Dotel.exporter.otlp.endpoint=
- name: SE_OTEL_SERVICE_NAME
  description: ''
  cli: -Dotel.resource.attributes=service.name=
- name: SE_OTEL_JVM_ARGS
  description: ''
  cli: ''
- name: SE_OTEL_TRACES_EXPORTER
  description: ''
  cli: -Dotel.traces.exporter
- name: SE_OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED
  description: ''
  cli: ''
- name: SE_JAVA_HTTPCLIENT_VERSION
  description: ''
  cli: -Dwebdriver.httpclient.version
- name: SE_JAVA_OPTS_DEFAULT
  description: ''
  cli: ''
- name: SE_JAVA_HEAP_DUMP
  description: ''
  cli: ''
- name: SE_BIND_HOST
  description: ''
  cli: ''
- name: SE_SCREEN_DEPTH
  description: ''
  cli: ''
- name: SE_SCREEN_DPI
  description: ''
  cli: ''
- name: SE_START_XVFB
  description: ''
  cli: ''
- name: SE_START_VNC
  description: ''
  cli: ''
- name: SE_START_NO_VNC
  description: ''
  cli: ''
- name: SE_VNC_ULIMIT
  description: ''
  cli: ''
- name: SE_NO_VNC_PORT
  description: ''
  cli: ''
- name: SE_VNC_PORT
  description: ''
  cli: ''
- name: SE_VNC_NO_PASSWORD
  description: ''
  cli: ''
- name: SE_VNC_VIEW_ONLY
  description: ''
  cli: ''
- name: SE_VNC_PASSWORD
  description: ''
  cli: ''
- name: SE_EVENT_BUS_PUBLISH_PORT
  description: ''
  cli: ''
- name: SE_EVENT_BUS_SUBSCRIBE_PORT
  description: ''
  cli: ''
- name: SE_NODE_SESSION_TIMEOUT
  description: ''
  cli: --session-timeout
- name: SE_NODE_ENABLE_MANAGED_DOWNLOADS
  description: This causes the Node to auto manage files downloaded for a given session
    on the Node
  cli: --enable-managed-downloads
- name: SE_NODE_ENABLE_CDP
  description: Enable CDP proxying in Grid. A Grid admin can disable CDP if the network
    doesnot allow websockets. True by default.
  cli: --enable-cdp
- name: SE_NODE_REGISTER_PERIOD
  description: ''
  cli: --register-period
- name: SE_NODE_REGISTER_CYCLE
  description: ''
  cli: --register-cycle
- name: SE_NODE_HEARTBEAT_PERIOD
  description: ''
  cli: --heartbeat-period
- name: SE_REGISTRATION_SECRET
  description: ''
  cli: --registration-secret
- name: SE_BROWSER_LEFTOVERS_PROCESSES_SECS
  description: ''
  cli: ''
- name: SE_BROWSER_LEFTOVERS_TEMPFILES_DAYS
  description: ''
  cli: ''
- name: SE_BROWSER_LEFTOVERS_INTERVAL_SECS
  description: ''
  cli: ''
- name: SE_DISABLE_UI
  description: ''
  cli: --disable-ui
- name: SE_REJECT_UNSUPPORTED_CAPS
  description: ''
  cli: --reject-unsupported-caps
- name: SE_NEW_SESSION_THREAD_POOL_SIZE
  description: ''
  cli: --newsession-threadpool-size
- name: SE_SESSION_REQUEST_TIMEOUT
  description: ''
  cli: --session-request-timeout
- name: SE_SESSION_RETRY_INTERVAL
  description: ''
  cli: --session-retry-interval
- name: SE_HEALTHCHECK_INTERVAL
  description: ''
  cli: --healthcheck-interval
- name: SE_RELAX_CHECKS
  description: ''
  cli: --relax-checks
- name: SE_SESSION_QUEUE_HOST
  description: ''
  cli: --sessionqueue-host
- name: SE_SESSION_QUEUE_PORT
  description: ''
  cli: --sessionqueue-port
- name: SE_VIDEO_FOLDER
  description: ''
  cli: ''
- name: SE_LOG_LISTEN_GRAPHQL
  description: ''
  cli: ''
- name: SE_NODE_PRESTOP_WAIT_STRATEGY
  description: ''
  cli: ''
- name: SE_SESSIONS_MAP_EXTERNAL_DATASTORE
  description: ''
  cli: ''
- name: SE_SESSIONS_MAP_HOST
  description: ''
  cli: --sessions-host
- name: SE_SESSIONS_MAP_PORT
  description: ''
  cli: --sessions-port
- name: SE_DISTRIBUTOR_HOST
  description: ''
  cli: ''
- name: SE_DISTRIBUTOR_PORT
  description: ''
  cli: ''
- name: SE_GRID_URL
  description: ''
  cli: --grid-url
- name: SE_NODE_DOCKER_CONFIG_FILENAME
  description: ''
  cli: ''
- name: SE_NODE_GRACEFUL_SHUTDOWN
  description: ''
  cli: ''
- name: SE_VIDEO_CONTAINER_NAME
  description: ''
  cli: ''
- name: SE_RECORD_VIDEO
  description: ''
  cli: ''
- name: SE_ENABLE_BROWSER_LEFTOVERS_CLEANUP
  description: ''
  cli: ''
- name: SE_NODE_MAX_SESSIONS
  description: Set the number of maximum concurrent sessions per browser Node, by
    default is 1
  cli: --max-sessions
- name: SE_NODE_OVERRIDE_MAX_SESSIONS
  description: By default is false, enable this flag for setting max session take
    effect in browser Node
  cli: --override-max-sessions
- name: SE_OFFLINE
  description: Selenium Manager offline mode, use the browser and driver pre-configured
    in the image
  cli: ''
- name: SE_NODE_BROWSER_VERSION
  description: Overwrite the default browserVersion in Node stereotype. By default,
    it is short version of current browser installed in Node. For example `139.0`
  cli: ''
- name: SE_NODE_PLATFORM_NAME
  description: Overwrite the default platformName in Node stereotype. By default,
    it is `Linux`
  cli: ''
- name: SE_SUPERVISORD_LOG_LEVEL
  description: ''
  cli: ''
- name: SE_SUPERVISORD_CHILD_LOG_DIR
  description: ''
  cli: ''
- name: SE_SUPERVISORD_LOG_FILE
  description: ''
  cli: ''
- name: SE_SUPERVISORD_AUTO_RESTART
  description: ''
  cli: ''
- name: SE_SUPERVISORD_START_RETRIES
  description: ''
  cli: ''
- name: SE_RECORD_AUDIO
  description: Flag to enable recording the audio source (default is Pulse Audio input)
  cli: ''
- name: SE_AUDIO_SOURCE
  description: FFmpeg arguments to record the audio source
  cli: ''
- name: SE_BROWSER_BINARY_LOCATION
  description: 'Browser binary location set to Node driver configuration. This helpful
    in case you customize on top of official Docker image to install another browser
    in other path and still using GENERATE_CONFIG=true (where enforce detect-drivers
    = false and controlled by our config logic). By default in corresponding browser,
    default path would be `/usr/bin/google-chrome`, `/usr/bin/chromium`, `/usr/bin/firefox`,
    `/usr/bin/microsoft-edge`. Example usage: `SE_BROWSER_BINARY_LOCATION=/opt/google-chrome`'
  cli: ''
- name: SE_NODE_BROWSER_NAME
  description: ''
  cli: ''
- name: SE_NODE_CONTAINER_NAME
  description: Set a unique name to identify the Node is running in which container
    (via session capabilities `se:containerName`). This is helpful when deploying
    Node in Kubernetes cluster, where is able to use metadata pod name set to this
    env variable. By default, it is the `$(hostname)` (a.k.a container id could be
    seen via `docker ps`)
  cli: ''
- name: SE_NODE_HOST
  description: ''
  cli: ''
- name: SE_NODE_RELAY_BROWSER_NAME
  description: ''
  cli: ''
- name: SE_NODE_RELAY_MAX_SESSIONS
  description: ''
  cli: ''
- name: SE_NODE_RELAY_PLATFORM_NAME
  description: ''
  cli: ''
- name: SE_NODE_RELAY_PLATFORM_VERSION
  description: ''
  cli: ''
- name: SE_NODE_RELAY_PROTOCOL_VERSION
  description: ''
  cli: ''
- name: SE_NODE_RELAY_STATUS_ENDPOINT
  description: ''
  cli: ''
- name: SE_NODE_RELAY_URL
  description: ''
  cli: ''
- name: SE_NODE_STEREOTYPE
  description: Capabilities in JSON string to overwrite the default Node stereotype
  cli: ''
- name: SE_NODE_STEREOTYPE_EXTRA
  description: Extra capabilities in JSON string that wants to merge to the default
    Node stereotype. This is helpful when you want to retain the default Node stereotype
    and append additional capabilities. Example usage `SE_NODE_STEREOTYPE_EXTRA={"myApp:version":"beta","myApp:publish":"public"}`
  cli: ''
- name: SE_SESSIONS_MAP_EXTERNAL_HOSTNAME
  description: ''
  cli: ''
- name: SE_SESSIONS_MAP_EXTERNAL_IMPLEMENTATION
  description: ''
  cli: ''
- name: SE_SESSIONS_MAP_EXTERNAL_JDBC_PASSWORD
  description: ''
  cli: ''
- name: SE_SESSIONS_MAP_EXTERNAL_JDBC_URL
  description: ''
  cli: ''
- name: SE_SESSIONS_MAP_EXTERNAL_JDBC_USER
  description: ''
  cli: ''
- name: SE_SESSIONS_MAP_EXTERNAL_PORT
  description: ''
  cli: ''
- name: SE_SESSIONS_MAP_EXTERNAL_SCHEME
  description: ''
  cli: ''
- name: SE_NODE_RELAY_STEREOTYPE
  description: Capabilities in JSON string to overwrite the default Node relay stereotype
  cli: ''
- name: SE_NODE_RELAY_STEREOTYPE_EXTRA
  description: Extra capabilities in JSON string that wants to merge to the default
    Node relay stereotype
  cli: ''
- name: SE_NODE_REGISTER_SHUTDOWN_ON_FAILURE
  description: If this flag is enabled, the Node will shut down after the register
    period is completed. This is useful for container environments to restart and
    register again. If restarted multiple times, the Node container status will be
    CrashLoopBackOff
  cli: --register-shutdown-on-failure
- name: SE_NODE_RELAY_BROWSER_VERSION
  description: ''
  cli: ''
- name: SE_NODE_RELAY_ONLY
  description: ''
  cli: ''
- name: SE_EXTRA_LIBS
  description: Extra jars to add to the classpath in server component bootstrap
  cli: --ext
- name: SE_NODE_CONNECTION_LIMIT_PER_SESSION
  description: ''
  cli: ''
- name: SE_SUPERVISORD_UNIX_SERVER_PASSWORD
  description: ''
  cli: ''
- name: SE_FFMPEG_THREADS
  description: ''
  cli: ''
- name: SE_OTEL_RESOURCE_ATTRIBUTES
  description: Add more attributes to the OpenTelemetry resource, e.g. "service.version=1.0.0,deployment.environment=production"
  cli: ''
- name: SE_VIDEO_BUFSIZE
  description: ''
  cli: ''
- name: SE_VIDEO_CRF
  description: ''
  cli: ''
- name: SE_VIDEO_MAXRATE
  description: ''
  cli: ''
- name: SE_NODE_DELETE_SESSION_ON_UI
  description: Enable capability to support deleting session on Grid UI
  cli: --delete-session-on-ui
- name: SE_UPDATE_CHROME_COMPONENTS
  description: 'Applicable for node-chrome, standalone-chrome (arch linux/amd64).
    Update the latest version of Chrome and ChromeDriver at the beginning of the container
    startup. Read more: [#2872](https://github.com/SeleniumHQ/docker-selenium/pull/2872)'
  cli: ''
- name: SE_DISTRIBUTOR_SLOT_SELECTOR
  description: Full class name of non-default slot selector. This is used to select
    a slot in a Node once the Node has been matched. Switch to built-in Greedy strategy,
    use class name `org.openqa.selenium.grid.distributor.selector.GreedySlotSelector`
  cli: --slot-selector
- name: SE_EVENT_BUS_HEARTBEAT_PERIOD
  description: How often, in seconds, will the EventBus socket send heartbeats
  cli: --eventbus-heartbeat-period
- name: SE_NODE_ENABLE_BROWSER
  description: Checkout usage of SE_NODE_ENABLE_BROWSER_* in below
  cli: ''
- name: SE_NODE_ENABLE_BROWSER_
  description: 'This is used in node/standalone all browsers in one container, append
    suffix CHROME, FIREFOX or EDGE to disable correspoding browser in Node stereotypes.
    For example: SE_NODE_ENABLE_BROWSER_CHROME=false'
  cli: ''
- name: SE_NODE_DOWN_FAILURE_THRESHOLD
  description: Maximum number of consecutive session creation failures before the
    Node is marked as DOWN. This helps detect and isolate unhealthy Nodes that consistently
    fail to create sessions. A value of 0 (default) disables this feature, allowing
    unlimited retries. A value higher than zero enables this feature.
  cli: --node-down-failure-threshold
- name: SE_BIND_BUS
  description: When true, the Standalone will start the Event Bus and connect itself.
    Standalone also expose publishing and subscribing port for sidecar service can
    listen on session events.
  cli: --bind-bus
- name: SE_EVENT_BUS_IMPLEMENTATION
  description: 'Full class name of non-default event bus implementation. For example:
    org.openqa.selenium.events.zeromq.ZeroMqEventBus'
  cli: --events-implementation
- name: SE_NODE_KUBERNETES_CONFIG_FILENAME
  description: A separate TOML config file name for Dynamic Grid in Kubernetes, which
    avoid conflict with browser config if shared mouted volume
  cli: ''
- name: SE_VIDEO_EVENT_DRIVEN
  description: Backend of video recorder and uploader will subscribe to Grid Event
    Bus for session event lifecycle for processing instead of traditional polling
    Node session capabilities via /status endpoint.
  cli: ''
- name: SE_PLAIN_LOGS
  description: Use plain log lines
  cli: --plain-logs
- name: SE_DYNAMIC_MAX_SESSIONS
  description: Set the number of maximum concurrent sessions of Dynamic Node (both
    Docker and Kubernetes)
  cli: ''
- name: SE_DYNAMIC_OVERRIDE_MAX_SESSIONS
  description: Enable this flag for setting max session take effect in Dynamic Node
    (both Docker and Kubernetes)
  cli: ''
- name: SE_FAILURE_SESSION_EVENTS
  description: By default, a failure session event type contains ":failed", ":failure",
    ":error" or ":aborted" substrings that trigger the retain-on-failure sub-sequence.
    User can define more event types which handled in your test framework, separated
    by comma.
  cli: ''
- name: SE_RETAIN_ON_FAILURE
  description: When true, recordings for sessions that pass are discarded immediately.
    Only sessions that fail (via failure events or abnormal close) retain their recordings
    and are queued for upload.
  cli: ''
- name: SE_DISTRIBUTOR_BACKEND_URL
  description: Redis URL for Distributor connection when using RedisBackedDistributor
    implementation, e.g. redis://redis:6379
  cli: --distributor-backend-url
- name: SE_DISTRIBUTOR_IMPLEMENTATION
  description: Configure external datastore for Distributor. When enabled, all replicas
    share state through the backend (node registrations, slot reservations, health-check
    coordination)
  cli: --distributor-implementation
- name: SE_TCP_TUNNEL
  description: ''
  cli: --tcp-tunnel
- name: SE_SESSION_QUEUE_BACKEND_URL
  description: ''
  cli: ''
- name: SE_SESSION_QUEUE_IMPLEMENTATION
  description: ''
  cli: ''
- name: SE_VIDEO_SESSION_SUBFOLDER
  description: ''
  cli: ''