├── README.md ├── browsers.json ├── browsers_vnc.json ├── selenoid-video.yaml ├── selenoid-vnc-video.yaml ├── selenoid-vnc.yaml └── selenoid.yaml /README.md: -------------------------------------------------------------------------------- 1 | # Selenoid examples 2 | This repository contains a few samples of using awesome [Aerokube](https://github.com/aerokube) projects, like [Selenoid](https://github.com/aerokube/selenoid), [SelenoidUI](https://github.com/aerokube/selenoid-ui) and [ggr](https://github.com/aerokube/ggr). 3 | 4 | 5 | ## Pre-conditions 6 | 7 | Download config files for `selenoid` and `docker-compose`: 8 | 9 | `git clone https://github.com/aleksanderpopov/selenoid_samples_unix && cd selenoid_samples_unix` 10 | 11 | 12 | ## Selenoid with VNC, video recording and SelenoidUI 13 | 14 | 1. Download required browser images and video-recorder: 15 | - `docker pull selenoid/vnc:chrome_74.0 && docker pull selenoid/vnc:firefox_67.0 && docker pull selenoid/vnc:opera_60.0 && docker pull selenoid/video-recorder` 16 | 17 | 2. Run `selenoid` and `selenoid-ui` via `docker-compose`: 18 | - `docker-compose -f selenoid-vnc-video.yaml up -d` 19 | 20 | Note: this implementation works with extra volume data-container. 21 | 22 | 23 | ## Selenoid with VNC and SelenoidUI 24 | 25 | 1. Download required browser images: 26 | - `docker pull selenoid/vnc:chrome_74.0 && docker pull selenoid/vnc:firefox_67.0 && docker pull selenoid/vnc:opera_60.0` 27 | 2. Run `selenoid` and `selenoid-ui` via `docker-compose`: 28 | - `docker-compose -f selenoid-vnc.yaml up -d` 29 | 30 | 31 | ## Selenoid with video recording 32 | 33 | 1. Download required browser images and video-recorder: 34 | - `docker pull selenoid/chrome:70.0 && docker pull selenoid/firefox:63.0 && docker pull selenoid/opera:56.0 && docker pull selenoid/video-recorder` 35 | 36 | 2. Run `selenoid` and `selenoid-ui` via `docker-compose`: 37 | - `docker-compose -f selenoid-video.yaml up -d` 38 | 39 | Note: this implementation works with extra volume data-container. 40 | 41 | 42 | ## Selenoid only 43 | 44 | 1. Download required browser images: 45 | - `docker pull selenoid/chrome:74.0 && docker pull selenoid/firefox:67.0 && docker pull selenoid/opera:60.0` 46 | 2. Run `selenoid` via `docker-compose`: 47 | - `docker-compose -f selenoid.yaml up -d` 48 | -------------------------------------------------------------------------------- /browsers.json: -------------------------------------------------------------------------------- 1 | { 2 | "chrome": { 3 | "default": "74.0", 4 | "versions": { 5 | "74.0": { 6 | "image": "selenoid/chrome:74.0", 7 | "port": "4444", 8 | "shmSize": 1073741824, 9 | "tmpfs": { 10 | "/tmp": "size=128m" 11 | } 12 | } 13 | } 14 | }, 15 | "firefox": { 16 | "default": "67.0", 17 | "versions": { 18 | "67.0": { 19 | "image": "selenoid/firefox:67.0", 20 | "port": "4444", 21 | "shmSize": 1073741824, 22 | "tmpfs": { 23 | "/tmp": "size=128m" 24 | } 25 | } 26 | } 27 | }, 28 | "opera": { 29 | "default": "60.0", 30 | "versions": { 31 | "60.0": { 32 | "image": "selenoid/opera:60.0", 33 | "port": "4444", 34 | "shmSize": 1073741824, 35 | "tmpfs": { 36 | "/tmp": "size=128m" 37 | } 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /browsers_vnc.json: -------------------------------------------------------------------------------- 1 | { 2 | "chrome": { 3 | "default": "74.0", 4 | "versions": { 5 | "74.0": { 6 | "image": "selenoid/vnc:chrome_74.0", 7 | "port": "4444", 8 | "shmSize": 1073741824, 9 | "tmpfs": { 10 | "/tmp": "size=128m" 11 | } 12 | } 13 | } 14 | }, 15 | "firefox": { 16 | "default": "67.0", 17 | "versions": { 18 | "67.0": { 19 | "image": "selenoid/vnc:firefox_67.0", 20 | "port": "4444", 21 | "shmSize": 1073741824, 22 | "tmpfs": { 23 | "/tmp": "size=128m" 24 | } 25 | } 26 | } 27 | }, 28 | "opera": { 29 | "default": "60.0", 30 | "versions": { 31 | "60.0": { 32 | "image": "selenoid/vnc:opera_60.0", 33 | "port": "4444", 34 | "shmSize": 1073741824, 35 | "tmpfs": { 36 | "/tmp": "size=128m" 37 | } 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /selenoid-video.yaml: -------------------------------------------------------------------------------- 1 | version: '3.6' 2 | 3 | services: 4 | selenoid: 5 | image: "aerokube/selenoid:1.9.1" 6 | network_mode: bridge 7 | restart: always 8 | ports: 9 | - "4444:4444" 10 | volumes: 11 | - "$PWD:/etc/selenoid/" # assumed current dir contains browsers.json 12 | - "/var/run/docker.sock:/var/run/docker.sock" 13 | - "selenoid-video:/opt/selenoid/video/" 14 | environment: 15 | # - DOCKER_API_VERSION="1.35" # when errors like current docker version should be ... 16 | - OVERRIDE_VIDEO_OUTPUT_DIR=selenoid-video 17 | command: ["-conf", "/etc/selenoid/browsers.json", "-limit", "4", "-video-output-dir", "/opt/selenoid/video"] 18 | 19 | volumes: 20 | selenoid-video: 21 | name: selenoid-video 22 | -------------------------------------------------------------------------------- /selenoid-vnc-video.yaml: -------------------------------------------------------------------------------- 1 | version: '3.6' 2 | 3 | services: 4 | selenoid: 5 | image: "aerokube/selenoid:1.9.1" 6 | network_mode: bridge 7 | restart: always 8 | ports: 9 | - "4444:4444" 10 | volumes: 11 | - "$PWD:/etc/selenoid/" # assumed current dir contains browsers.json 12 | - "/var/run/docker.sock:/var/run/docker.sock" 13 | - "selenoid-video:/opt/selenoid/video/" 14 | environment: 15 | # - DOCKER_API_VERSION="1.35" # when errors like current docker version should be ... 16 | - OVERRIDE_VIDEO_OUTPUT_DIR=selenoid-video 17 | command: ["-conf", "/etc/selenoid/browsers_vnc.json", "-limit", "4", "-video-output-dir", "/opt/selenoid/video"] 18 | 19 | selenoid-ui: 20 | image: "aerokube/selenoid-ui:1.6.7" 21 | network_mode: bridge 22 | restart: always 23 | links: 24 | - selenoid 25 | ports: 26 | - "8080:8080" 27 | command: ["--selenoid-uri", "http://selenoid:4444"] 28 | 29 | volumes: 30 | selenoid-video: 31 | name: selenoid-video 32 | -------------------------------------------------------------------------------- /selenoid-vnc.yaml: -------------------------------------------------------------------------------- 1 | version: '3.6' 2 | 3 | services: 4 | selenoid: 5 | image: "aerokube/selenoid:1.9.1" 6 | network_mode: bridge 7 | restart: always 8 | ports: 9 | - "4444:4444" 10 | volumes: 11 | - "$PWD:/etc/selenoid/" # assumed current dir contains browsers.json 12 | - "/var/run/docker.sock:/var/run/docker.sock" 13 | #environment: 14 | # - DOCKER_API_VERSION="1.35" # when errors like current docker version should be ... 15 | command: ["-conf", "/etc/selenoid/browsers_vnc.json", "-limit", "4"] 16 | 17 | selenoid-ui: 18 | image: "aerokube/selenoid-ui:1.6.7" 19 | network_mode: bridge 20 | restart: always 21 | links: 22 | - selenoid 23 | ports: 24 | - "8080:8080" 25 | command: ["--selenoid-uri", "http://selenoid:4444"] 26 | -------------------------------------------------------------------------------- /selenoid.yaml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | services: 4 | selenoid: 5 | image: "aerokube/selenoid:1.9.1" 6 | network_mode: bridge 7 | restart: always 8 | ports: 9 | - "4444:4444" 10 | volumes: 11 | - "$PWD:/etc/selenoid/" # assumed current dir contains browsers.json 12 | - "/var/run/docker.sock:/var/run/docker.sock" 13 | #environment: 14 | # - DOCKER_API_VERSION="1.35" # when errors like current docker version should be ... 15 | command: ["-conf", "/etc/selenoid/browsers.json", "-limit", "4"] 16 | --------------------------------------------------------------------------------