services:
ftp_server:
image: delfer/alpine-ftp-server:latest
container_name: ftp_server
environment:
- USERS=seluser|selenium.dev
volumes:
- /tmp/upload:/ftp/seluser
command: ["/bin/sh", "-c", "/sbin/tini -- /bin/start_vsftpd.sh && tail -f /dev/null"]
stop_grace_period: 30s
file_browser:
image: filebrowser/filebrowser:latest
container_name: file_browser
restart: always
ports:
- "8081:80"
volumes:
- /tmp/upload:/srv
environment:
- FB_NOAUTH=true
chrome:
deploy:
mode: replicated
replicas: 3
image: selenium/node-chromium:4.47.0-20260808
shm_size: 2gb
depends_on:
- selenium-hub
volumes:
- /tmp/videos:/videos
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_RETAIN_ON_FAILURE=true
- SE_UPLOAD_DESTINATION_PREFIX=myftp://ftp/seluser
- RCLONE_CONFIG_MYFTP_TYPE=ftp
- RCLONE_CONFIG_MYFTP_HOST=ftp_server
- RCLONE_CONFIG_MYFTP_PORT=21
- RCLONE_CONFIG_MYFTP_USER=seluser
- RCLONE_CONFIG_MYFTP_PASS=KkK8RsUIba-MMTBUSnuYIdAKvcnFyLl2pdhQig
- RCLONE_CONFIG_MYFTP_FTP_CONCURRENCY=10
stop_grace_period: 30s
firefox:
deploy:
mode: replicated
replicas: 3
image: selenium/node-firefox:4.47.0-20260808
shm_size: 2gb
depends_on:
- selenium-hub
volumes:
- /tmp/videos:/videos
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_RETAIN_ON_FAILURE=true
- SE_UPLOAD_DESTINATION_PREFIX=myftp://ftp/seluser
- RCLONE_CONFIG_MYFTP_TYPE=ftp
- RCLONE_CONFIG_MYFTP_HOST=ftp_server
- RCLONE_CONFIG_MYFTP_PORT=21
- RCLONE_CONFIG_MYFTP_USER=seluser
- RCLONE_CONFIG_MYFTP_PASS=KkK8RsUIba-MMTBUSnuYIdAKvcnFyLl2pdhQig
- RCLONE_CONFIG_MYFTP_FTP_CONCURRENCY=10
stop_grace_period: 30s
selenium-hub:
image: selenium/hub:4.47.0-20260808
container_name: selenium-hub
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"