-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
/
Copy pathdocker-compose-v3-video-upload-standalone.yml
133 lines (126 loc) · 4.78 KB
/
docker-compose-v3-video-upload-standalone.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# To execute this docker compose yml file use `docker compose -f docker-compose-v3-video-upload-standalone.yml up`
# Add the `-d` flag at the end for detached execution
# To stop the execution, hit Ctrl+C, and then `docker compose -f docker-compose-v3-video-upload-standalone.yml down`
# ${variable_pattern} get value from .env in the same directory
services:
# Start a local FTP server to demonstrate video upload with RCLONE (https://github.com/delfer/docker-alpine-ftp-server)
ftp_server:
image: delfer/alpine-ftp-server:latest
container_name: ftp_server
environment:
- USERS=seluser|selenium.dev
volumes:
# Mount the local directory `/home/${USER}/Videos/upload` to the FTP server's `/ftp/seluser` directory to check out the uploaded videos
- /tmp/upload:/ftp/seluser
command: ["/bin/sh", "-c", "/sbin/tini -- /bin/start_vsftpd.sh && tail -f /dev/null"]
stop_grace_period: 30s
# File browser to manage the uploaded videos from the FTP server
file_browser:
image: filebrowser/filebrowser:latest
container_name: file_browser
restart: always
ports:
- "8081:80"
volumes:
# Mount the local directory `/tmp/upload` to file browser's `/srv` directory to check out the uploaded videos
- /tmp/upload:/srv
environment:
- FB_NOAUTH=true
standalone_chrome:
image: selenium/standalone-chrome:4.30.0-20250323
platform: linux/amd64
shm_size: 2gb
ports:
- "4444:4444"
environment:
- SE_ROUTER_USERNAME=admin
- SE_ROUTER_PASSWORD=admin
- SE_SUB_PATH=/selenium
standalone_edge:
image: selenium/standalone-edge:4.30.0-20250323
platform: linux/amd64
shm_size: 2gb
ports:
- "5444:4444"
environment:
- SE_ROUTER_USERNAME=admin
- SE_ROUTER_PASSWORD=admin
- SE_SUB_PATH=/selenium
standalone_firefox:
image: selenium/standalone-firefox:4.30.0-20250323
shm_size: 2gb
ports:
- "6444:4444"
environment:
- SE_ROUTER_USERNAME=admin
- SE_ROUTER_PASSWORD=admin
- SE_SUB_PATH=/selenium
chrome_video:
image: selenium/video:ffmpeg-7.1.1.1-20250323
depends_on:
- standalone_chrome
environment:
- SE_ROUTER_USERNAME=admin
- SE_ROUTER_PASSWORD=admin
- SE_SUB_PATH=/selenium
- SE_VIDEO_RECORD_STANDALONE=true
- DISPLAY_CONTAINER_NAME=standalone_chrome
- SE_VIDEO_FILE_NAME=auto
- SE_VIDEO_UPLOAD_ENABLED=true
# Remote name and destination path to upload
- SE_UPLOAD_DESTINATION_PREFIX=myftp://ftp/seluser
# All configs required for RCLONE to upload to remote name myftp
- RCLONE_CONFIG_MYFTP_TYPE=ftp
- RCLONE_CONFIG_MYFTP_HOST=ftp_server
- RCLONE_CONFIG_MYFTP_PORT=21
- RCLONE_CONFIG_MYFTP_USER=seluser
# Password encrypted using command: rclone obscure <your_password>
- RCLONE_CONFIG_MYFTP_PASS=KkK8RsUIba-MMTBUSnuYIdAKvcnFyLl2pdhQig
- RCLONE_CONFIG_MYFTP_FTP_CONCURRENCY=10
stop_grace_period: 30s
edge_video:
image: selenium/video:ffmpeg-7.1.1.1-20250323
depends_on:
- standalone_edge
environment:
- SE_ROUTER_USERNAME=admin
- SE_ROUTER_PASSWORD=admin
- SE_SUB_PATH=/selenium
- SE_VIDEO_RECORD_STANDALONE=true
- DISPLAY_CONTAINER_NAME=standalone_edge
- SE_VIDEO_FILE_NAME=auto
- SE_VIDEO_UPLOAD_ENABLED=true
# Remote name and destination path to upload
- SE_UPLOAD_DESTINATION_PREFIX=myftp://ftp/seluser
# All configs required for RCLONE to upload to remote name myftp
- RCLONE_CONFIG_MYFTP_TYPE=ftp
- RCLONE_CONFIG_MYFTP_HOST=ftp_server
- RCLONE_CONFIG_MYFTP_PORT=21
- RCLONE_CONFIG_MYFTP_USER=seluser
# Password encrypted using command: rclone obscure <your_password>
- RCLONE_CONFIG_MYFTP_PASS=KkK8RsUIba-MMTBUSnuYIdAKvcnFyLl2pdhQig
- RCLONE_CONFIG_MYFTP_FTP_CONCURRENCY=10
stop_grace_period: 30s
firefox_video:
image: selenium/video:ffmpeg-7.1.1.1-20250323
depends_on:
- standalone_firefox
environment:
- SE_ROUTER_USERNAME=admin
- SE_ROUTER_PASSWORD=admin
- SE_SUB_PATH=/selenium
- SE_VIDEO_RECORD_STANDALONE=true
- DISPLAY_CONTAINER_NAME=standalone_firefox
- SE_VIDEO_FILE_NAME=auto
- SE_VIDEO_UPLOAD_ENABLED=true
# Remote name and destination path to upload
- SE_UPLOAD_DESTINATION_PREFIX=myftp://ftp/seluser
# All configs required for RCLONE to upload to remote name myftp
- RCLONE_CONFIG_MYFTP_TYPE=ftp
- RCLONE_CONFIG_MYFTP_HOST=ftp_server
- RCLONE_CONFIG_MYFTP_PORT=21
- RCLONE_CONFIG_MYFTP_USER=seluser
# Password encrypted using command: rclone obscure <your_password>
- RCLONE_CONFIG_MYFTP_PASS=KkK8RsUIba-MMTBUSnuYIdAKvcnFyLl2pdhQig
- RCLONE_CONFIG_MYFTP_FTP_CONCURRENCY=10
stop_grace_period: 30s