-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Closed
Milestone
Description
Phase 1
Build a static FFmpeg binary (~12MB) for recording with RCLONE binary (~27MB) for uploading.
Bring all scripts for functionalities and program binaries to Node base.
Node/Standalone has the capability to record/upload itself.
Discussed in #2452
Originally posted by saidoyk November 1, 2024
I have a Selenium Grid setup with 20 Chrome containers and 20 video recording containers monitoring each one. This setup consumes 80GB of memory. Do I need 20 video containers? Can a single video container monitor multiple Chrome pods? Also, my docker-compose file is too long may I simply it easily or do I need a scalable automation script?
version: '3'
services:
jaeger:
image: jaegertracing/all-in-one:1.60
ports:
- "16686:16686"
- "4317:4317"
chrome_01:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6900:5900"
chrome_02:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6901:5900"
chrome_03:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6902:5900"
chrome_04:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6903:5900"
chrome_05:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6904:5900"
chrome_06:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6905:5900"
chrome_07:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6906:5900"
chrome_08:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6907:5900"
chrome_09:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6908:5900"
chrome_10:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6909:5900"
chrome_11:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6910:5900"
chrome_12:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6912:5900"
chrome_13:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6913:5900"
chrome_14:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6914:5900"
chrome_15:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6915:5900"
chrome_16:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6916:5900"
chrome_17:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6917:5900"
chrome_18:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6918:5900"
chrome_19:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6919:5900"
chrome_20:
image: selenium/node-chrome:latest
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
ports:
- "6920:5900"
chrome_01_video:
image: selenium/video:latest
depends_on:
- chrome_01
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_01
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_02_video:
image: selenium/video:latest
depends_on:
- chrome_02
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_02
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_03_video:
image: selenium/video:latest
depends_on:
- chrome_03
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_03
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_04_video:
image: selenium/video:latest
depends_on:
- chrome_04
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_04
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_05_video:
image: selenium/video:latest
depends_on:
- chrome_05
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_05
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_06_video:
image: selenium/video:latest
depends_on:
- chrome_06
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_06
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_07_video:
image: selenium/video:latest
depends_on:
- chrome_07
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_07
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_08_video:
image: selenium/video:latest
depends_on:
- chrome_08
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_08
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_09_video:
image: selenium/video:latest
depends_on:
- chrome_09
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_09
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_10_video:
image: selenium/video:latest
depends_on:
- chrome_10
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_10
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_11_video:
image: selenium/video:latest
depends_on:
- chrome_11
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_11
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_12_video:
image: selenium/video:latest
depends_on:
- chrome_12
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_12
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_13_video:
image: selenium/video:latest
depends_on:
- chrome_13
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_13
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_14_video:
image: selenium/video:latest
depends_on:
- chrome_14
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_14
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_15_video:
image: selenium/video:latest
depends_on:
- chrome_15
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_15
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_16_video:
image: selenium/video:latest
depends_on:
- chrome_16
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_16
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_17_video:
image: selenium/video:latest
depends_on:
- chrome_17
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_17
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_18_video:
image: selenium/video:latest
depends_on:
- chrome_18
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_18
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_19_video:
image: selenium/video:latest
depends_on:
- chrome_19
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_19
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
chrome_20_video:
image: selenium/video:latest
depends_on:
- chrome_20
- "/app/Selenium-grid/videos:/videos"
environment:
- DISPLAY_CONTAINER_NAME=chrome_20
- SE_NODE_GRID_URL=http://selenium-hub:4444
- SE_VIDEO_FILE_NAME=auto
selenium-hub:
image: selenium/hub:latest
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
depends_on:
- jaeger
environment:
- SE_ENABLE_TRACING=true
- SE_OTEL_TRACES_EXPORTER=otlp
- SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317
```</div>
Metadata
Metadata
Assignees
Labels
No labels