# SPDX-License-Identifier: MIT # Copyright (c) 2026 Rug Munch Media LLC # Part of Pry — https://git.rugmunch.io/RugMunchMedia/pryscraper # Licensed under MIT. See LICENSE. services: pry: build: . container_name: pry restart: unless-stopped ports: - "127.0.0.1:8005:8002" volumes: - pry-sessions:/app/sessions environment: - PYTHONUNBUFFERED=1 - PRY_TIMEOUT=60 - FLARESOLVERR_URL=http://flaresolverr:8191/v1 - TOR_ENABLED=0 - TOR_SOCKS5_HOST=tor - TOR_SOCKS5_PORT=9050 - PROXY_URL= - PROXY_TYPE=http - IP_ROTATION=off - MAX_RETRIES=3 - MIN_QUALITY=20 - RATE_LIMIT_RPM=120 healthcheck: test: ["CMD", "curl", "-sf", "http://localhost:8002/health"] interval: 15s timeout: 5s retries: 3 start_period: 30s deploy: resources: limits: memory: 2G cpus: "2" depends_on: flaresolverr: condition: service_healthy flaresolverr: image: ghcr.io/flaresolverr/flaresolverr:latest container_name: pry-flaresolverr restart: unless-stopped ports: - "127.0.0.1:8191:8191" environment: - LOG_LEVEL=info - CAPTCHA_SOLVER=none healthcheck: test: ["CMD", "curl", "-sf", "http://localhost:8191/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s deploy: resources: limits: memory: 512M cpus: "1" tor: image: dperson/torproxy:latest container_name: pry-tor restart: unless-stopped ports: - "127.0.0.1:9050:9050" - "127.0.0.1:9051:9051" deploy: resources: limits: memory: 128M cpus: "0.5" profiles: - tor volumes: pry-sessions: