54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
services:
|
|
# Selenium Grid with Chromium (or Chrome)
|
|
selenium:
|
|
build: ./selenium-patch
|
|
container_name: selenium
|
|
shm_size: 2gb
|
|
ports:
|
|
- "${GRID_DASHBOARD_PORT}:4444"
|
|
environment:
|
|
- SE_VNC_NO_PASSWORD=1
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:4444/status"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
|
|
# Proxy needed for solving Cloudflare's anti-bot protection.
|
|
# It uses a Chrome to get the necessary cookies and then forwards the WebSocket connection to Omegle
|
|
omegle-proxy:
|
|
build: ./proxy
|
|
container_name: omegle-proxy
|
|
depends_on:
|
|
selenium:
|
|
condition: service_healthy
|
|
environment:
|
|
- CF_WAIT_TIME=${CF_WAIT_TIME}
|
|
- TARGET_URL=https://omegleweb.io
|
|
- TARGET_WS_URL=wss://omegleweb.io:8443/socket.io/?EIO=4&transport=websocket
|
|
- LOCAL_HOST=0.0.0.0
|
|
- LOCAL_PORT=8765
|
|
- HEADLESS=false
|
|
- SELENIUM_URL=http://selenium:4444
|
|
|
|
omegle-bot:
|
|
build: ./bot
|
|
container_name: omegle-bot
|
|
environment:
|
|
- MATRIX_HOMESERVER=${MATRIX_HOMESERVER}
|
|
- MATRIX_USERNAME=${MATRIX_USERNAME}
|
|
- MATRIX_PASSWORD=${MATRIX_PASSWORD}
|
|
- OMEGLE_WEBSOCKET_URL=ws://omegle-proxy:8765
|
|
- SELENIUM_URL=${SELENIUM_GRID_URL}
|
|
- DB_PATH=/data/omegle.db
|
|
volumes:
|
|
- omegle-bot-data:/data
|
|
depends_on:
|
|
omegle-proxy:
|
|
condition: service_started
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
omegle-bot-data:
|