Download Dockerfile from void0028/Prow_larr: direct link, hf CLI and curl.
- Browser
- Download file 4.26 kB
-
https://huggingface.co/spaces/void0028/Prow_larr/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/void0028/Prow_larr/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/void0028/Prow_larr/resolve/main/Dockerfile
4.26 kB
| # --------------------------------------------------------------------------- | |
| # "THE GOD MONOLITH" - V11 (Full Stack: Rust + Chrome + Compilers) | |
| # --------------------------------------------------------------------------- | |
| FROM python:3.11-bookworm | |
| # 1. CRITICAL: Unlock Pip & Non-Interactive | |
| ENV PIP_BREAK_SYSTEM_PACKAGES=1 | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| # 2. Install "The Kitchen Sink" | |
| # - cargo/pkg-config/libssl-dev: REQUIRED for AIOStreams (Rust/Crypto) | |
| # - chromium/driver: REQUIRED for FlareSolverr | |
| # - nginx/supervisor: Infrastructure | |
| USER root | |
| RUN apt-get update && apt-get install -y \ | |
| nginx-full \ | |
| build-essential \ | |
| python3-dev \ | |
| libffi-dev \ | |
| libssl-dev \ | |
| cargo \ | |
| pkg-config \ | |
| chromium \ | |
| chromium-driver \ | |
| supervisor \ | |
| curl \ | |
| wget \ | |
| git \ | |
| libicu-dev \ | |
| libsqlite3-0 \ | |
| socat \ | |
| xvfb \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 3. Environment Variables (Force FlareSolverr to use System Chrome) | |
| ENV CHROME_BIN=/usr/bin/chromium | |
| ENV CHROMIUM_DRIVER=/usr/bin/chromedriver | |
| ENV FLARESOLVERR_BROWSER_EXECUTABLE_PATH=/usr/bin/chromium | |
| ENV FLARESOLVERR_BROWSER_ARGS="--no-sandbox --disable-setuid-sandbox --disable-dev-shm-usage --disable-gpu" | |
| ENV PUID=1000 | |
| ENV PGID=1000 | |
| # 4. Install FlareSolverr | |
| WORKDIR /app | |
| RUN git clone https://github.com/FlareSolverr/FlareSolverr.git flaresolverr \ | |
| && cd flaresolverr \ | |
| && pip install --no-cache-dir -r requirements.txt | |
| # 5. Install AIOStreams (Now succeeds because 'cargo' is present) | |
| WORKDIR /app | |
| RUN git clone https://github.com/Viren070/AIOStreams.git aiostreams \ | |
| && cd aiostreams \ | |
| && pip install --no-cache-dir -r requirements.txt | |
| # 6. Install Prowlarr | |
| WORKDIR /app | |
| RUN curl -L -o Prowlarr.tar.gz 'https://prowlarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' \ | |
| && tar -xvzf Prowlarr.tar.gz \ | |
| && rm Prowlarr.tar.gz | |
| # 7. Create Directories | |
| RUN mkdir -p /var/log/supervisor /var/lib/nginx/body /var/lib/nginx/fastcgi /var/lib/nginx/proxy /var/lib/nginx/scgi /var/lib/nginx/uwsgi /data/prowlarr /run /etc/nginx /etc/supervisor/conf.d | |
| # 8. NGINX CONFIG | |
| RUN cat <<'EOF' > /etc/nginx/nginx.conf | |
| worker_processes 1; | |
| daemon off; | |
| pid /run/nginx.pid; | |
| events { worker_connections 1024; } | |
| http { | |
| include mime.types; | |
| default_type application/octet-stream; | |
| sendfile on; | |
| keepalive_timeout 65; | |
| access_log /var/log/nginx/access.log; | |
| error_log /var/log/nginx/error.log; | |
| server { | |
| listen 7860; | |
| server_name localhost; | |
| # AIOStreams (Main) | |
| location / { | |
| proxy_pass http://127.0.0.1:3000; | |
| proxy_set_header Host $host; | |
| proxy_set_header X-Real-IP $remote_addr; | |
| } | |
| # Prowlarr (Backend) | |
| location /prowlarr { | |
| proxy_pass http://127.0.0.1:9696; | |
| proxy_set_header Host $host; | |
| proxy_set_header X-Real-IP $remote_addr; | |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
| proxy_set_header X-Forwarded-Proto $scheme; | |
| proxy_http_version 1.1; | |
| proxy_set_header Upgrade $http_upgrade; | |
| proxy_set_header Connection "Upgrade"; | |
| } | |
| } | |
| } | |
| EOF | |
| # 9. SUPERVISOR CONFIG | |
| RUN cat <<'EOF' > /etc/supervisor/conf.d/supervisord.conf | |
| [supervisord] | |
| nodaemon=true | |
| logfile=/var/log/supervisor/supervisord.log | |
| pidfile=/run/supervisord.pid | |
| [program:nginx] | |
| command=/usr/sbin/nginx | |
| autostart=true | |
| autorestart=true | |
| [program:flaresolverr] | |
| command=python3 /app/flaresolverr/src/flaresolverr.py | |
| directory=/app/flaresolverr | |
| environment=LOG_LEVEL="info",LOG_HTML="false",PORT="8191",HOST="0.0.0.0" | |
| autostart=true | |
| autorestart=true | |
| [program:aiostreams] | |
| command=python3 main.py | |
| directory=/app/aiostreams | |
| environment=PORT="3000",HOST="0.0.0.0" | |
| autostart=true | |
| autorestart=true | |
| [program:prowlarr] | |
| command=/app/Prowlarr/Prowlarr -nobrowser -data=/data/prowlarr | |
| directory=/app/Prowlarr | |
| environment=PROWLARR__GENERAL__URLBASE="/prowlarr" | |
| autostart=true | |
| autorestart=true | |
| EOF | |
| # 10. Fix Permissions | |
| RUN chown -R 1000:1000 /app /data /var/log/supervisor /var/lib/nginx /var/log/nginx /etc/nginx /run /etc/supervisor | |
| # 11. Launch | |
| USER 1000 | |
| EXPOSE 7860 | |
| CMD ["supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] | |