# Profile: full (the "everything real" heavy profile — nightly/manual only) # # Test book: Moby-Dick (Herman Melville, public domain). # # What it exercises end to end, with NO mock bypasser: # 1. REAL Chrome internal bypasser: AA search/detail are reachable (mock-aa), but # the AA *slow-download* links point through the Cloudflare gate. So a real # DOWNLOAD forces the in-image headless Chrome (seleniumbase CDP) to solve the # JS challenge and harvest cf_clearance — the literal "spin a chrome browser" # path. Success = Moby-Dick lands in /books, which is only possible if Chrome # solved the gate. # 2. DoH enabled (USE_DOH) so the DNS-over-HTTPS code path runs at boot. # 3. REAL download client: a mock Prowlarr returns a webseed .torrent; a real # qBittorrent downloads the payload over HTTP from mock-aa and shelfmark # moves the completed file into /books. # # Heavy (Chrome + qBittorrent), so it is excluded from the PR matrix. COMPOSE_PROFILES=full # AA search/detail reachable directly; the DOWNLOAD goes through the CF gate so the # internal Chrome bypasser must solve it (search uses no bypasser, by design). SM_AA_URL=http://mock-aa SM_SLOW_DOWNLOAD_BASE=http://cf.mock.test SM_USE_CF_BYPASS=true SM_USING_EXTERNAL_BYPASSER=false # DNS over HTTPS on. SM_USE_DOH=true # Prowlarr indexer + real qBittorrent client. SM_PROWLARR_ENABLED=true SM_PROWLARR_URL=http://mock-prowlarr SM_PROWLARR_API_KEY=e2e-test-key SM_PROWLARR_TORRENT_CLIENT=qbittorrent SM_QBITTORRENT_URL=http://qbittorrent:8080 SM_QBITTORRENT_USERNAME=admin SM_QBITTORRENT_PASSWORD=adminadmin SM_QBITTORRENT_CATEGORY=books # The real client download needs more headroom than a direct HTTP fetch. E2E_DOWNLOAD_TIMEOUT=300 E2E_PROFILE=full