Files
omegle-matrix-bridge/docker-compose.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: