Tor support, use SeleniumBase instead of DrissionPage (#123)

Refactor: Improve Docker build, add Tor support, use SeleniumBase

- Overhauled Dockerfile:
    - Switched to python:3.10-slim base.
    - Implemented multi-stage builds (base, standard, tor).
    - Consolidated RUN layers for efficiency.
    - Added locale/timezone setup.
- Added Tor setup and iptables configuration in dedicated stage/script.
- Replaced DrissionPage with SeleniumBase for Cloudflare bypassing.
- Added Tor support via `docker-compose.tor.yml` and `tor.sh` script.
- Updated `docker-compose.yml` to build locally and changed default port
to 8083.
- Added `docker-compose.dev.yml` and `docker-compose.tor.dev.yml`.
- Updated `entrypoint.sh` for timezone and sudo usage.
- Added/Updated environment variables (`TZ`, `USING_TOR`, etc.).
- Improved `.dockerignore`.
- Updated `readme.md` to reflect port changes, build process, document
`TZ`, and add details about the new Tor variant.
This commit is contained in:
CaliBrain
2025-04-13 02:34:39 -04:00
committed by GitHub
parent e0e7470ac6
commit 57f15b4d95
18 changed files with 602 additions and 277 deletions
+9 -14
View File
@@ -1,20 +1,15 @@
# If you change the FLASK_PORT, do not forget to change it in ports and healthcheck as well.
services:
calibre-web-automated-book-downloader:
build :
calibre-web-automated-book-downloader-dev:
extends:
file: ./docker-compose.yml
service: calibre-web-automated-book-downloader
build:
context: .
dockerfile: Dockerfile
target: cwa-bd
environment:
FLASK_PORT: 8084
LOG_LEVEL: debug
BOOK_LANGUAGE: en
USE_BOOK_TITLE: true
CUSTOM_DNS: cloudflare
FLASK_DEBUG: true
USE_DOH: true
ports:
- 8084:8084
restart: unless-stopped
volumes:
# This is where the books will be downloaded to, usually it would be
# the same as whatever you gave in "calibre-web-automated"
- /tmp/data/calibre-web/ingest:/cwa-book-ingest
CUSTOM_DNS: cloudflare