Skip to content

[🐛 Bug]: Videos are being created in /videos despite SE_RECORD_VIDEO=false #3142

@stlxiii

Description

@stlxiii

What happened?

The node-chrome container is accumulating videos in the /videos folder. We found the problem because the container eventually used up all available disk space. I have adjusted my docker-compose to specify SE_RECORD_VIDEO=false but it doesn't alter the behavior.

Possibly related to this change? 2585eaa

Command used to start Selenium Grid with Docker (or Kubernetes)

services:


  chrome:
    image: selenium/node-chrome:latest
    restart: always
    shm_size: 2gb
    depends_on:
      - selenium-hub
    environment:
      - SE_RECORD_VIDEO=false
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
      - SE_NODE_OVERRIDE_MAX_SESSIONS=true
      - SE_NODE_MAX_SESSIONS=9
      - SCREEN_WIDTH=1920
      - SCREEN_HEIGHT=1920
      - SE_OPTS=--enable-managed-downloads true
      - TZ=America/Toronto

  edge:
    image: selenium/node-edge:latest
    restart: always
    shm_size: 2gb
    depends_on:
      - selenium-hub
    environment:
      - SE_RECORD_VIDEO=false
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
      - SE_NODE_OVERRIDE_MAX_SESSIONS=true
      - SE_NODE_MAX_SESSIONS=9
      - SCREEN_WIDTH=1920
      - SCREEN_HEIGHT=1920
      - SE_OPTS=--enable-managed-downloads true
      - TZ=America/Toronto

  firefox:
    image: selenium/node-firefox:latest
    restart: always
    shm_size: 2gb
    depends_on:
      - selenium-hub
    environment:
      - SE_RECORD_VIDEO=false
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
      - SE_NODE_OVERRIDE_MAX_SESSIONS=true
      - SE_NODE_MAX_SESSIONS=9
      - SCREEN_WIDTH=1920
      - SCREEN_HEIGHT=1920
      - SE_OPTS=--enable-managed-downloads true
      - TZ=America/Toronto

  selenium-hub:
    image: selenium/hub:latest
    restart: always
    container_name: selenium-hub
    ports:
      - "4442:4442"
      - "4443:4443"
      - "4444:4444"

Relevant log output

extract from docker inspect, shows "SE_RECORD_VIDEO=false"

   "StdinOnce": false,
            "Env": [
                "SE_NODE_OVERRIDE_MAX_SESSIONS=true",
                "SCREEN_HEIGHT=1920",
                "SE_OPTS=--enable-managed-downloads true",
                "SE_EVENT_BUS_HOST=selenium-hub",
                "SE_EVENT_BUS_SUBSCRIBE_PORT=4443",
                "SCREEN_WIDTH=1920",
                "SE_RECORD_VIDEO=false",
                "SE_NODE_MAX_SESSIONS=9",
                "SE_EVENT_BUS_PUBLISH_PORT=4442",
                "TZ=America/Toronto",
                "PATH=/home/seluser/venv/bin:/usr/l


extract from docker logs:

Virtual environment detected at /home/seluser/venv, activating...
Python 3.14.5
2026-05-27 13:29:47,170 INFO Included extra file "/etc/supervisor/conf.d/chrome-cleanup.conf" during parsing
2026-05-27 13:29:47,171 INFO Included extra file "/etc/supervisor/conf.d/recorder.conf" during parsing
2026-05-27 13:29:47,171 INFO Included extra file "/etc/supervisor/conf.d/selenium.conf" during parsing
2026-05-27 13:29:47,171 INFO Included extra file "/etc/supervisor/conf.d/uploader.conf" during parsing
2026-05-27 13:29:47,183 INFO RPC interface 'supervisor' initialized
2026-05-27 13:29:47,185 INFO supervisord started with pid 9
2026-05-27 13:29:47,188 INFO spawned: 'video-ready' with pid 10
2026-05-27 13:29:47,211 INFO spawned: 'xvfb' with pid 11
2026-05-27 13:29:47,223 INFO spawned: 'video-upload' with pid 12
2026-05-27 13:29:47,240 INFO spawned: 'vnc' with pid 13
2026-05-27 13:29:47,298 INFO spawned: 'novnc' with pid 15
2026-05-27 13:29:47,364 INFO spawned: 'video-recording' with pid 22
2026-05-27 13:29:47,400 INFO spawned: 'selenium-node' with pid 26
2026-05-27 13:29:47,604 INFO success: video-ready entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2026-05-27 13:29:47,606 INFO success: video-upload entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2026-05-27 13:29:47,606 INFO success: video-recording entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2026-05-27 13:29:47,606 INFO success: selenium-node entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2026-05-27 13:29:48,218 INFO success: xvfb entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Appending Selenium options: --enable-managed-downloads true
Selenium option: --enable-managed-downloads already set in env variable SE_OPTS. Ignore new option: --enable-managed-downloads true
Appending Selenium option: --register-period 120
Appending Selenium option: --register-cycle 10
Appending Selenium option: --register-shutdown-on-failure
Appending Selenium option: --delete-session-on-ui true
Appending Selenium option: --heartbeat-period 15
Appending Selenium option: --node-down-failure-threshold 0
Appending Selenium option: --log-level INFO
2026-05-27 13:29:48,451 INFO success: vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-27 13:29:48,451 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Appending Selenium option: --http-logs false
Appending Selenium option: --structured-logs false
Appending Selenium option: --plain-logs true
Generating Selenium Config
Configuring server...
Setting up SE_NODE_HOST...
Setting up SE_NODE_PORT...
Setting up SE_NODE_GRID_URL...
Backing up original environment variables...
Backed up original SE_NODE_BROWSER_VERSION=stable to SE_NODE_BROWSER_VERSION_ORIGINAL
Backed up original SE_NODE_PLATFORM_NAME=Linux to SE_NODE_PLATFORM_NAME_ORIGINAL
Backed up original SE_NODE_MAX_SESSIONS=9 to SE_NODE_MAX_SESSIONS_ORIGINAL
===Start generating stereotype for browser: CHROME===
Inherited original SE_NODE_BROWSER_VERSION_ORIGINAL=stable to SE_NODE_BROWSER_VERSION
Inherited original SE_NODE_PLATFORM_NAME_ORIGINAL=Linux to SE_NODE_PLATFORM_NAME
Inherited original SE_NODE_MAX_SESSIONS_ORIGINAL=9 to SE_NODE_MAX_SESSIONS
Restoring original environment variables...
Cleared SE_NODE_ENABLE_BROWSER (no original backup)
Cleared SE_NODE_STEREOTYPE (no original backup)
Cleared SE_NODE_BROWSER_NAME (no original backup)
Restored original SE_NODE_BROWSER_VERSION_ORIGINAL=stable to SE_NODE_BROWSER_VERSION
Restored original SE_NODE_PLATFORM_NAME_ORIGINAL=Linux to SE_NODE_PLATFORM_NAME
Cleared SE_BROWSER_BINARY_LOCATION (no original backup)
Cleared SE_NODE_STEREOTYPE_EXTRA (no original backup)
Restored original SE_NODE_MAX_SESSIONS_ORIGINAL=9 to SE_NODE_MAX_SESSIONS
===Stop generating stereotype for browser: CHROME===
Appending Selenium option: --tracing false
Tracing is disabled
Appending Selenium option: --bind-host false
Appending Selenium option: --config /opt/selenium/config.toml
Selenium Grid Node configuration:
[events]
    publish = "tcp://selenium-hub:4442"
    subscribe = "tcp://selenium-hub:4443"

[node]
session-timeout = 300
override-max-sessions = true
max-sessions = 9
detect-drivers = false
drain-after-session-count = 0

[[node.driver-configuration]]
display-name = "chrome"
stereotype = '{"browserName":"chrome","browserVersion":"148.0","platformName":"Linux","se:containerName":"09ec6dd9c667","container:hostname":"09ec6dd9c667","goog:chromeOptions":{"binary":"/usr/bin/google-chrome"}}'
max-sessions = 9

Starting Selenium Grid Node...
Using JAVA_OPTS:  -Dwebdriver.remote.enableTracing=false -Dwebdriver.httpclient.version=HTTP_1_1
2026-05-27 13:29:49, [video.service] - ============================================================
2026-05-27 13:29:49, [video.service] - Starting unified video recording and upload service
2026-05-27 13:29:49, [video.service] - ============================================================
2026-05-27 13:29:49, [video.service] - Configuration:
2026-05-27 13:29:49, [video.service] -   Standalone mode: False
2026-05-27 13:29:49, [video.service] -   Event bus: selenium-hub:4442
2026-05-27 13:29:49, [video.service] -   Video folder: /videos
2026-05-27 13:29:49, [video.service] -   Video file name: auto
2026-05-27 13:29:49, [video.service] -   Video size: 1920x1080
2026-05-27 13:29:49, [video.service] -   Upload enabled: False
2026-05-27 13:29:49, [video.service] -   Upload destination:
2026-05-27 13:29:49, [video.service] -   Retain on failure: False
2026-05-27 13:29:49, [video.service] -   Failure events: [':failure', ':failed', ':error', ':aborted']
2026-05-27 13:29:49, [video.service] -   Max sessions (drain): unlimited
2026-05-27 13:29:49, [video.service] - Waiting for display: localhost:99.0
2026-05-27 13:29:49, [video.service] - Display ready: localhost:99.0
2026-05-27 13:29:49, [video.service] - Waiting for Node /status endpoint: http://localhost:5555/status (verify_ssl=False)
13:29:51.279 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
13:29:51.334 INFO [LoggingOptions.getTracer] - Using null tracer
13:29:51.726 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://selenium-hub:4442 and tcp://selenium-hub:4443
13:29:51.919 INFO [ZmqUtils.configureHeartbeat] - ZMQ SUB socket heartbeat configured: interval=60s, timeout=180s, ttl=360s
13:29:51.949 INFO [ZmqUtils.configureHeartbeat] - ZMQ PUB socket heartbeat configured: interval=60s, timeout=180s, ttl=360s
13:29:51.969 INFO [UnboundZmqEventBus.<init>] - Sockets created
13:29:52.979 INFO [UnboundZmqEventBus.<init>] - Event bus ready
13:29:53.511 INFO [NodeServer.createHandlers] - Reporting self as: http://172.17.2.4:5555

Operating System

Ubuntu 24.04.4 LTS

Docker Selenium version (image tag)

sha256:2bd78a1b7b646cbe71a0653285afd1d5be223991443d5b08c9a86d8d2d4363df

Selenium Grid chart version (chart version)

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions