turnstile / Dockerfile
overwrite69's picture
Update Dockerfile
7497229 verified
FROM python:3.13-slim-bookworm
# 1. Set environment variables for Hugging Face
ENV PORT=7860
ENV HOME=/app
ENV PYTHONUNBUFFERED=1
# Force FlareSolverr to use the HF port
ENV FL_PORT=7860
WORKDIR /app
# 2. Install system dependencies + xauth
RUN apt-get update && apt-get install -y --no-install-recommends \
chromium \
chromium-driver \
xvfb \
xauth \
dumb-init \
procps \
curl \
&& rm -rf /var/lib/apt/lists/*
# 3. Create user and set permissions
RUN useradd -m -u 1000 flaresolverr && \
mkdir -p /app/.config/chromium/Crash\ Reports/pending && \
mkdir -p /config && \
chown -R 1000:0 /app /config && \
chmod -R 775 /app /config
# 4. Install Python requirements
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 5. Copy source code
# Ensure your 'src' folder is in the same directory as this Dockerfile
COPY src/ /app/src/
COPY package.json /app/package.json
# 6. Final setup
EXPOSE 7860
USER 1000
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
# Run FlareSolverr using xvfb-run
# We use -a to automatically find a free server number
CMD ["xvfb-run", "-a", "-s", "-screen 0 1600x1200x24", "python3", "-u", "/app/src/flaresolverr.py"]