boterdrop / Dockerfile
aripbae's picture
Update Dockerfile
a7f2c29 verified
Raw
History Blame Contribute Delete
1.37 kB
FROM python:slim
ENV PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1 DEBIAN_FRONTEND=noninteractive HOME=/home/user PLAYWRIGHT_BROWSERS_PATH=/home/user/.cache/ms-playwright PATH="/home/user/.local/bin:${PATH}"
RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends libasound2 libgtk-3-0 git sed && apt-get clean && rm -rf /var/lib/apt/lists/*
RUN useradd -m -u 1000 user
USER user
WORKDIR /home/user/app
RUN git clone https://github.com/najibyahya/Turnstile-Solver . && \
rm -f config.json && \
echo '{"headless":true,"thread":2,"page_count":2,"proxy_support":false,"proxy_file":"proxies.txt","host":"0.0.0.0","port":7860,"debug":true,"cleanup_interval_minutes":10}' > config.json && \
cat config.json && \
pip install --no-cache-dir --user fastapi==0.95.2 uvicorn "camoufox[fetch]" loguru psutil playwright && \
python3 -m camoufox fetch && \
playwright install firefox
EXPOSE 7860
CMD ["python3", "-c", "import api_server; import uvicorn; config = api_server._load_config(); app = api_server.create_app(headless=config['headless'], thread=config['thread'], page_count=config['page_count'], proxy_support=config['proxy_support'], proxy_file=config.get('proxy_file', 'proxies.txt'), cleanup_interval_minutes=config.get('cleanup_interval_minutes', 10)); uvicorn.run(app, host=config['host'], port=config['port'])"]