Skip to content

Commit 15eb64a

Browse files
authored
Breaking change: Node/Standalone Docker config path change to /opt/selenium/docker.toml (#2754)
Signed-off-by: Viet Nguyen Duc <[email protected]>
1 parent b1ceb7c commit 15eb64a

10 files changed

+25
-16
lines changed

ENV_VARIABLES.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102
| SE_DISTRIBUTOR_HOST | | | |
103103
| SE_DISTRIBUTOR_PORT | 5553 | | |
104104
| SE_GRID_URL | | | --grid-url |
105-
| SE_NODE_DOCKER_CONFIG_FILENAME | | | |
105+
| SE_NODE_DOCKER_CONFIG_FILENAME | docker.toml | | |
106106
| SE_NODE_GRACEFUL_SHUTDOWN | | | |
107107
| SE_VIDEO_CONTAINER_NAME | | | |
108108
| SE_RECORD_VIDEO | true | | |

NodeDocker/Dockerfile

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@ COPY --chown="${SEL_UID}:${SEL_GID}" start-selenium-grid-docker.sh \
2525
start-socat.sh \
2626
/opt/bin/
2727

28-
COPY --chown="${SEL_UID}:${SEL_GID}" config.toml /opt/selenium/
28+
COPY --chown="${SEL_UID}:${SEL_GID}" config.toml /opt/selenium/docker.toml
2929

3030
COPY selenium-grid-docker.conf /etc/supervisor/conf.d/
3131

3232
ENV SE_OTEL_SERVICE_NAME="selenium-node-docker" \
3333
SE_EVENT_BUS_PUBLISH_PORT="4442" \
34-
SE_EVENT_BUS_SUBSCRIBE_PORT="4443"
34+
SE_EVENT_BUS_SUBSCRIBE_PORT="4443" \
35+
SE_NODE_DOCKER_CONFIG_FILENAME="docker.toml"

NodeDocker/config.toml

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ configs = [
66
"selenium/standalone-chrome:4.30.0-20250323", '{"browserName": "chrome", "platformName": "linux"}',
77
"selenium/standalone-edge:4.30.0-20250323", '{"browserName": "MicrosoftEdge", "platformName": "linux"}'
88
]
9+
# Share configs of volumes, DNS, extra hosts between node-docker and node browser containers
10+
host-config-keys = ["Dns", "DnsOptions", "DnsSearch", "ExtraHosts", "Binds"]
911

1012
# URL for connecting to the docker daemon
1113
# host.docker.internal works for macOS and Windows.

README.md

+11-8
Original file line numberDiff line numberDiff line change
@@ -753,6 +753,9 @@ video-image = "selenium/video:ffmpeg-7.1.1.1-20250323"
753753
#port = <port-from-node-machine>
754754
```
755755

756+
**Mount the local `config.toml` file to the container path `/opt/selenium/docker.toml`**.
757+
This config file path specific for Dynamic Grid (node/standalone docker) by default to avoid conflict with the config file in node browser containers (since users can share volumes config to node browser containers, see below section for details).
758+
756759
With the optional config key `host-config-keys` under section [docker] in a config.toml file (or CLI option --docker-host-config-keys). Users can specify a list of docker host configuration keys that should be passed to browser containers.
757760

758761
Valid key names for Docker host config can be found in the Docker API [documentation](https://docs.docker.com/engine/api/latest/#tag/Container/operation/ContainerCreate) or via the command `docker inspect` the node-docker container.
@@ -799,7 +802,7 @@ virtual machines.
799802
$ docker network create grid
800803
$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.30.0-20250323
801804
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \
802-
-v ${PWD}/config.toml:/opt/selenium/config.toml \
805+
-v ${PWD}/config.toml:/opt/selenium/docker.toml \
803806
-v ${PWD}/assets:/opt/selenium/assets \
804807
-v /var/run/docker.sock:/var/run/docker.sock \
805808
selenium/node-docker:4.30.0-20250323
@@ -811,7 +814,7 @@ $ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \
811814
$ docker network create grid
812815
$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.30.0-20250323
813816
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub `
814-
-v ${PWD}/config.toml:/opt/selenium/config.toml `
817+
-v ${PWD}/config.toml:/opt/selenium/docker.toml `
815818
-v ${PWD}/assets:/opt/selenium/assets `
816819
-v /var/run/docker.sock:/var/run/docker.sock `
817820
selenium/node-docker:4.30.0-20250323
@@ -832,7 +835,7 @@ $ docker network rm grid
832835

833836
```bash
834837
docker run --rm --name selenium-docker -p 4444:4444 \
835-
-v ${PWD}/config.toml:/opt/selenium/config.toml \
838+
-v ${PWD}/config.toml:/opt/selenium/docker.toml \
836839
-v ${PWD}/assets:/opt/selenium/assets \
837840
-v /var/run/docker.sock:/var/run/docker.sock \
838841
selenium/standalone-docker:4.30.0-20250323
@@ -842,7 +845,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \
842845

843846
```bash
844847
docker run --rm --name selenium-docker -p 4444:4444 `
845-
-v ${PWD}/config.toml:/opt/selenium/config.toml `
848+
-v ${PWD}/config.toml:/opt/selenium/docker.toml `
846849
-v ${PWD}/assets:/opt/selenium/assets `
847850
-v /var/run/docker.sock:/var/run/docker.sock `
848851
selenium/standalone-docker:4.30.0-20250323
@@ -863,7 +866,7 @@ $ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.30.0-2
863866
```bash
864867
$ docker run -d -p 5555:5555 \
865868
-e SE_EVENT_BUS_HOST=<ip-from-machine-1> \
866-
-v ${PWD}/config.toml:/opt/selenium/config.toml \
869+
-v ${PWD}/config.toml:/opt/selenium/docker.toml \
867870
-v ${PWD}/assets:/opt/selenium/assets \
868871
-v /var/run/docker.sock:/var/run/docker.sock \
869872
selenium/node-docker:4.30.0-20250323
@@ -874,7 +877,7 @@ $ docker run -d -p 5555:5555 \
874877
```bash
875878
$ docker run -d -p 5555:5555 `
876879
-e SE_EVENT_BUS_HOST=<ip-from-machine-1> `
877-
-v ${PWD}/config.toml:/opt/selenium/config.toml `
880+
-v ${PWD}/config.toml:/opt/selenium/docker.toml `
878881
-v ${PWD}/assets:/opt/selenium/assets `
879882
-v /var/run/docker.sock:/var/run/docker.sock `
880883
selenium/node-docker:4.30.0-20250323
@@ -932,7 +935,7 @@ be forwared and set in the container. You can set the desired environment variab
932935
```bash
933936
docker run --rm --name selenium-docker -p 4444:4444 \
934937
-e SE_NODE_SESSION_TIMEOUT=700 \
935-
-v ${PWD}/config.toml:/opt/selenium/config.toml \
938+
-v ${PWD}/config.toml:/opt/selenium/docker.toml \
936939
-v ${PWD}/assets:/opt/selenium/assets \
937940
-v /var/run/docker.sock:/var/run/docker.sock \
938941
selenium/standalone-docker:4.30.0-20250323
@@ -943,7 +946,7 @@ docker run --rm --name selenium-docker -p 4444:4444 \
943946
```bash
944947
docker run --rm --name selenium-docker -p 4444:4444 `
945948
-e SE_NODE_SESSION_TIMEOUT=700 `
946-
-v ${PWD}/config.toml:/opt/selenium/config.toml `
949+
-v ${PWD}/config.toml:/opt/selenium/docker.toml `
947950
-v ${PWD}/assets:/opt/selenium/assets `
948951
-v /var/run/docker.sock:/var/run/docker.sock `
949952
selenium/standalone-docker:4.30.0-20250323

StandaloneDocker/start-selenium-grid-docker.sh

+4
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@ if [ "${SE_ENABLE_TLS}" = "true" ]; then
9494
fi
9595
fi
9696

97+
if [ ! -z "${SE_NODE_DOCKER_CONFIG_FILENAME}" ]; then
98+
CONFIG_FILE="/opt/selenium/${SE_NODE_DOCKER_CONFIG_FILENAME}"
99+
fi
100+
97101
echo "Selenium Grid Standalone Docker configuration: "
98102
cat "${CONFIG_FILE}"
99103

docker-compose-v3-dynamic-grid.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services:
66
image: selenium/node-docker:4.30.0-20250323
77
volumes:
88
- ./assets:/opt/selenium/assets
9-
- ./NodeDocker/config.toml:/opt/selenium/config.toml
9+
- ./NodeDocker/config.toml:/opt/selenium/docker.toml
1010
- /var/run/docker.sock:/var/run/docker.sock
1111
depends_on:
1212
- selenium-hub

docker-compose-v3-video-upload-dynamic-grid.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ services:
1818
image: selenium/node-docker:4.30.0-20250323
1919
volumes:
2020
- ./assets:/opt/selenium/assets
21-
- ./NodeDocker/config.toml:/opt/selenium/config.toml
21+
- ./NodeDocker/config.toml:/opt/selenium/docker.toml
2222
- /var/run/docker.sock:/var/run/docker.sock
2323
depends_on:
2424
- selenium-hub

scripts/generate_list_env_vars/value.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
- name: SE_NODE_CONTAINER_NAME
8282
default: ''
8383
- name: SE_NODE_DOCKER_CONFIG_FILENAME
84-
default: ''
84+
default: docker.toml
8585
- name: SE_NODE_ENABLE_CDP
8686
default: ''
8787
- name: SE_NODE_ENABLE_MANAGED_DOWNLOADS

tests/docker-compose-v3-test-node-docker.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ services:
1616
- selenium-hub
1717
- ftp_server
1818
environment:
19-
- SE_NODE_DOCKER_CONFIG_FILENAME=docker.toml
2019
- SE_EVENT_BUS_HOST=selenium-hub
2120
- SE_NODE_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS}
2221
- SE_OPTS=--enable-managed-downloads ${SELENIUM_ENABLE_MANAGED_DOWNLOADS}

tests/docker-compose-v3-test-standalone-docker.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services:
55
- ftp_server
66
volumes:
77
- ./videos:/opt/selenium/assets
8-
- ./videos/config.toml:/opt/selenium/config.toml
8+
- ./videos/config.toml:/opt/selenium/docker.toml
99
- /var/run/docker.sock:/var/run/docker.sock
1010
environment:
1111
- SE_VNC_NO_PASSWORD=true

0 commit comments

Comments
 (0)