Spaces:
Sleeping
Sleeping
| FROM python:3.9.5-buster | |
| # Fix apt sources for old Buster release | |
| RUN sed -i 's|deb.debian.org|archive.debian.org|g' /etc/apt/sources.list && \ | |
| sed -i 's|security.debian.org|archive.debian.org|g' /etc/apt/sources.list && \ | |
| sed -i '/stretch-updates/d' /etc/apt/sources.list && \ | |
| echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid-until | |
| # Set timezone | |
| ENV TZ=Asia/Kolkata | |
| RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone | |
| RUN sed -i 's/main/main contrib non-free/' /etc/apt/sources.list && \ | |
| apt-get update && \ | |
| apt-get install -y --no-install-recommends \ | |
| neofetch \ | |
| git \ | |
| curl \ | |
| wget \ | |
| mediainfo \ | |
| ffmpeg \ | |
| p7zip-full \ | |
| unrar \ | |
| unzip \ | |
| libssl-dev \ | |
| libffi-dev \ | |
| python3-dev && \ | |
| apt-get autoremove --purge -y && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Set working directory | |
| WORKDIR /Ult | |
| # Copy the application code | |
| COPY . . | |
| # --- FIX 1: Connection Speed & Stability --- | |
| # Installing cryptg speeds up encryption, preventing timeouts. | |
| # pysocks helps with connection routing. | |
| RUN pip3 install --no-cache-dir pysocks cryptg | |
| # Install requirements | |
| RUN if [ -f reqs.txt ]; then pip3 install --no-cache-dir -r reqs.txt; fi | |
| RUN pip3 install -U pip | |
| RUN pip3 install -U redis | |
| RUN if [ -f addons.txt ]; then pip3 install --no-cache-dir -r addons.txt; fi | |
| RUN pip3 install --no-cache-dir -r requirements.txt | |
| RUN if [ -f resources/startup/optional-requirements.txt ]; then pip3 install --no-cache-dir -r resources/startup/optional-requirements.txt; fi || true | |
| # --- FIX 2: Resolve Crash (Server.py) --- | |
| # Downgrade FastAPI to be compatible with Pydantic v1 (which your bot likely uses) | |
| # This fixes: ImportError: cannot import name 'TypeAdapter' from 'pydantic' | |
| RUN pip3 install "fastapi<0.100.0" "pydantic<2.0.0" uvicorn | |
| # Set appropriate permissions | |
| RUN chown -R 1000:0 /Ult && \ | |
| chmod 777 . && \ | |
| chmod 777 /usr && \ | |
| chown -R 1000:0 /usr && \ | |
| chmod -R 755 /Ult | |
| # Expose port for Hugging Face Spaces | |
| EXPOSE 7860 | |
| # --- TRICK 3: Auto-delete session + Force IPv4 --- | |
| # Deletes old sessions AND forces Python to use IPv4 for DNS (helps with connection blocks) | |
| CMD ["bash", "-c", "echo '🔄 Cleaning sessions...' && find . -name '*.session' -type f -delete && python3 server.py & python3 bot.py"] | |