You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+39Lines changed: 39 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -707,6 +707,43 @@ When using in Dynamic Grid, those variables should be combined with the prefix `
707
707
|`SE_UPLOAD_CONFIG_FILE_NAME`|`upload.conf`| Config file for remote host instead of set via env variable prefix SE_RCLONE_*|
708
708
|`SE_UPLOAD_CONFIG_DIRECTORY`|`/opt/bin`| Directory of config file (change it when conf file in another directory is mounted) |
709
709
710
+
## Video recordings manager
711
+
712
+
We utilize [File Browser](https://filebrowser.org/) as a video manager. It is a web-based file manager that allows you to manage files and folders in the storage.
713
+
714
+
The File Browser container dir `/srv` should be mounted to the same storage as video recordings stored. For example a compose file:
715
+
716
+
```yaml
717
+
services:
718
+
chrome:
719
+
deploy:
720
+
mode: replicated
721
+
replicas: 3
722
+
image: selenium/node-chrome:4.32.0-20250505
723
+
platform: linux/amd64
724
+
shm_size: 2gb
725
+
depends_on:
726
+
- selenium-hub
727
+
volumes:
728
+
- /tmp/videos:/videos
729
+
environment:
730
+
- SE_EVENT_BUS_HOST=selenium-hub
731
+
- SE_RECORD_VIDEO=true
732
+
- SE_VIDEO_FILE_NAME=auto
733
+
- SE_NODE_GRID_URL=http://selenium-hub:4444
734
+
735
+
file_browser:
736
+
image: filebrowser/filebrowser:latest
737
+
container_name: file_browser
738
+
restart: always
739
+
ports:
740
+
- "8081:80"
741
+
volumes:
742
+
- /tmp/videos:/srv
743
+
environment:
744
+
- FB_NOAUTH=true
745
+
```
746
+
710
747
___
711
748
712
749
## Dynamic Grid
@@ -1010,6 +1047,8 @@ Get started to deploy Selenium Grid on Kubernetes, you can refer to YAML files i
1010
1047
To simplify the deployment process, hide the complexity of Kubernetes objects, and provide a more straightforward way to deploy Selenium Grid on Kubernetes, we offer a Helm chart to deploy Selenium Grid to Kubernetes.
1011
1048
Read more details at the Helm [chart README](./charts/selenium-grid/README.md) and [chart CONFIGURATION](./charts/selenium-grid/CONFIGURATION.md).
1012
1049
1050
+
- Get started to hands-on with Selenium Grid on Kubernetes. See local env setup with [Docker Desktop](./tests/charts/refValues/README.md).
| videoManager.imagePullPolicy | string |`"IfNotPresent"`| Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images)|
691
691
| videoManager.imagePullSecret | string |`""`| Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/)|
692
-
| videoManager.config.baseurl | string |`"recordings"`| Base URL use to access the file browser (e.g. http://public.ip/recordings)|
692
+
| videoManager.config.baseurl | string |`"/recordings"`| Base URL use to access the file browser (in case expose both Grid and file browser via ingress, e.g. Grid at http://public.ip/selenium and FB athttp://public.ip/recordings)|
693
693
| videoManager.config.username | string |`""`| Username for the first user when using quick config (default "admin") |
694
694
| videoManager.config.password | string |`""`| Hashed password (bcrypt) for the first user when using quick config (default "admin") |
695
695
| videoManager.config.noauth | bool |`true`| Use the noauth auther when using quick setup |
Copy file name to clipboardExpand all lines: charts/selenium-grid/README.md
+40Lines changed: 40 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,7 @@ This chart enables the creation of a Selenium Grid Server in Kubernetes.
36
36
*[Configuration of video recorder and video uploader](#configuration-of-video-recorder-and-video-uploader)
37
37
*[Video recorder](#video-recorder)
38
38
*[Video uploader](#video-uploader)
39
+
*[Video manager](#video-manager)
39
40
*[Configuration of Secure Communication](#configuration-of-secure-communication)
40
41
*[Create TLS Secret](#create-tls-secret)
41
42
*[Secure Connection to Selenium Grid components](#secure-connection-to-selenium-grid-components)
@@ -793,6 +794,45 @@ videoRecorder:
793
794
imageTag: latest
794
795
```
795
796
797
+
#### Video manager
798
+
799
+
We utilize [File Browser](https://filebrowser.org/) as a video manager. It is a web-based file manager that allows you to manage files and folders in the storage. The video manager is disabled by default. To enable it, you need to set config key `videoManager.enabled` to `true`.
800
+
801
+
The service can be exposed via NodePort or Ingress (if enabled global ingress). By default, there is a baseurl is `/recordings`, if enabled svc type NodePort: `http://<node-ip>:30080/recordings`, or ingress `http://<ingress-hostname>/recordings`. You also can change the baseurl to another value via config key `videoManager.config.baseurl`
802
+
803
+
804
+
The File Browser container dir `/srv` should be mounted to the same storage as video recordings stored. The storage here is persistent volume claim (PVC) that is created by you or dynamically provisioned by the storage class. Configure recorder and manager to use the same PVC. For example
805
+
806
+
```yaml
807
+
videoRecorder:
808
+
enabled: true
809
+
extraVolumeMounts:
810
+
- name: videos
811
+
mountPath: /videos
812
+
subPath: videos
813
+
extraVolumes:
814
+
- name: videos
815
+
persistentVolumeClaim:
816
+
claimName: local-pv-storage
817
+
818
+
videoManager:
819
+
enabled: true
820
+
extraVolumeMounts:
821
+
- name: videos
822
+
mountPath: /srv
823
+
subPath: videos
824
+
extraVolumes:
825
+
- name: videos
826
+
persistentVolumeClaim:
827
+
claimName: local-pv-storage
828
+
```
829
+
830
+
When configuration is done, via File Browser you can centralize all the recordings in one place. You can manage the recordings, delete them, or download them.
831
+
832
+

833
+
834
+

835
+
796
836
### Configuration of Secure Communication
797
837
798
838
Selenium Grid supports secure communication between components. Refer to the [instructions](https://github.com/SeleniumHQ/selenium/blob/trunk/java/src/org/openqa/selenium/grid/commands/security.txt) and [options](https://www.selenium.dev/documentation/grid/configuration/cli_options/#server) are able to configure the secure communication. Below is the details on how to enable secure communication in Selenium Grid chart.
0 commit comments