spoof-detect / docker-compose.yaml
Niv Sardi
move from complicated multi-container to simpler design with a shell script
e919aa3
version: "3.9" # optional since v1.27.0
services:
python:
build:
dockerfile: Dockerfile.python
context: .
environment:
GECKO_HOST: geckodriver
GECKO_PORT: 4444
depends_on:
- "geckodriver"
links:
- "geckodriver"
volumes:
- "./python:/app/python:z" # for debugging
- "./data:/app/data:z"
geckodriver:
image: docker.io/instrumentisto/geckodriver
entrypoint: ["sh", "-c", "while true; do geckodriver --binary=/opt/firefox/firefox --log warn --port 4444 --host 0.0.0.0; sleep 2; done"]
ports: # this is not required but nice for local debug
- "4444:4444"
# crawler:
# build:
# dockerfile: Dockerfile.python
# context: .
# command: "sh -c 'while true; do python3 src/get_entities.py; touch data/entities.csv; sleep 24h; done'"
# volumes:
# - "./data:/app/data:z"
# cutter:
# build:
# dockerfile: Dockerfile.python
# context: .
# environment:
# GECKO_HOST: geckodriver
# GECKO_PORT: 4444
# depends_on:
# - "geckodriver"
# links:
# - "geckodriver"
# volumes:
# - "./python:/app/src:z" # for debugging
# - "./data:/app/data:z"
# browserless:
# image: docker.io/zenika/alpine-chrome
# entrypoint: ["sh", "-c", "while true; do chromium-browser --headless --use-gl=swiftshader --disable-software-rasterizer --disable-dev-shm-usage --no-sandbox --remote-debugging-address=0.0.0.0 --remote-debugging-port=3000; sleep 2; done"]
# ports:
# - "3000:3000"
# puppet:
# build:
# dockerfile: Dockerfile.deno
# context: .
# links:
# - browserless
# environment:
# BROWSERLESS_HOST: browserless
# BROWSERLESS_PORT: 3000
# DEBUG: "puppet"
# depends_on:
# - "browserless"
# #command: "sh -c 'while echo deno; do sleep 3h; done'" # debug
# command: "deno run --allow-net --allow-env --allow-read --allow-write src/index.ts"
# volumes:
# - "./deno:/app/src:z" # for debugging
# - "./data:/app/data:z"
# #restart: unless-stopped:600
# deploy:
# restart_policy:
# condition: any
# delay: 600s
# window: 300s