2026-06-08 15:40:00 +02:00
|
|
|
services:
|
2026-07-10 16:11:12 +02:00
|
|
|
redis:
|
2026-08-10 19:21:02 +02:00
|
|
|
image: redis:8.8.1-alpine
|
2026-06-08 15:40:00 +02:00
|
|
|
volumes:
|
2026-07-10 16:11:12 +02:00
|
|
|
- redis_data:/data
|
2026-06-08 15:40:00 +02:00
|
|
|
|
|
|
|
|
trawl:
|
|
|
|
|
image: ghcr.io/germondai/trawl:latest
|
|
|
|
|
ports:
|
2026-07-26 10:54:43 +02:00
|
|
|
# API + FlareSolverr-compatible /v1
|
2026-07-05 18:05:34 +02:00
|
|
|
- "${PORT:-8191}:8191"
|
2026-07-26 10:54:43 +02:00
|
|
|
# MITM forward proxy (:8192) — only used when MITM_PROXY_ENABLED=true.
|
|
|
|
|
# The CA cert is served from :8191/proxy-ca.crt and must be installed
|
|
|
|
|
# in each client's trust store (system keychain, Java cacerts, etc.).
|
|
|
|
|
- "${MITM_PROXY_PORT:-8192}:${MITM_PROXY_PORT:-8192}"
|
2026-06-08 15:40:00 +02:00
|
|
|
shm_size: 1gb
|
|
|
|
|
environment:
|
2026-07-10 16:11:12 +02:00
|
|
|
REDIS_URL: redis://redis:6379
|
2026-08-02 02:37:36 +02:00
|
|
|
BROWSER_POOL_SIZE: ${BROWSER_POOL_SIZE:-1}
|
2026-07-26 16:37:28 +02:00
|
|
|
PROXY_URL: ${PROXY_URL:-}
|
|
|
|
|
PROXY_LIST_FILE: ${PROXY_LIST_FILE:-}
|
|
|
|
|
RESIDENTIAL_PROXY_URL: ${RESIDENTIAL_PROXY_URL:-}
|
|
|
|
|
RESIDENTIAL_PROXY_LIST_FILE: ${RESIDENTIAL_PROXY_LIST_FILE:-}
|
2026-07-26 10:54:43 +02:00
|
|
|
# MITM proxy (off by default — opt in via .env)
|
|
|
|
|
MITM_PROXY_ENABLED: ${MITM_PROXY_ENABLED:-false}
|
|
|
|
|
MITM_PROXY_HOST: ${MITM_PROXY_HOST:-0.0.0.0}
|
|
|
|
|
MITM_PROXY_PORT: ${MITM_PROXY_PORT:-8192}
|
|
|
|
|
MITM_PROXY_CA_DIR: ${MITM_PROXY_CA_DIR:-/data/proxy-ca}
|
|
|
|
|
MITM_PROXY_MAX_TIER: ${MITM_PROXY_MAX_TIER:-4}
|
|
|
|
|
MITM_PROXY_DEBUG: ${MITM_PROXY_DEBUG:-false}
|
|
|
|
|
volumes:
|
|
|
|
|
# Persist the proxy's CA so clients don't need to re-install on every restart.
|
|
|
|
|
- trawl_proxy_ca:${MITM_PROXY_CA_DIR:-/data/proxy-ca}
|
2026-06-08 15:40:00 +02:00
|
|
|
depends_on:
|
2026-07-10 16:11:12 +02:00
|
|
|
- redis
|
2026-07-01 12:36:06 +02:00
|
|
|
healthcheck:
|
|
|
|
|
test: ["CMD", "curl", "-sf", "http://localhost:8191/health"]
|
|
|
|
|
interval: 30s
|
|
|
|
|
timeout: 10s
|
|
|
|
|
retries: 3
|
|
|
|
|
start_period: 90s
|
2026-06-08 15:40:00 +02:00
|
|
|
|
|
|
|
|
volumes:
|
2026-07-10 16:11:12 +02:00
|
|
|
redis_data:
|
2026-07-26 10:54:43 +02:00
|
|
|
trawl_proxy_ca:
|