FROM python:3.12-slim WORKDIR /app COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt # Download static JS files from CDN during build (saves deployment size) RUN mkdir -p static && \ curl -sL "https://registry.npmmirror.com/alpinejs/3.14.8/files/dist/cdn.min.js" -o static/alpine.min.js && \ curl -sL "https://registry.npmmirror.com/chart.js/4.4.7/files/dist/chart.umd.min.js" -o static/chart.min.js && \ curl -sL "https://registry.npmmirror.com/lucide/0.469.0/files/dist/umd/lucide.min.js" -o static/lucide.min.js && \ curl -sL "https://cdn.tailwindcss.com/3.4.17/tailwind.min.js" -o static/tailwind.min.js || true COPY app.py ./ COPY admin_v2.html ./ COPY templates/ ./templates/ COPY gemini_proxy/ ./gemini_proxy/ COPY start.sh ./ RUN chmod +x ./start.sh EXPOSE 7860 ENTRYPOINT ["./start.sh"]