warp-proxy / Dockerfile
TomatitoToho's picture
Upload Dockerfile with huggingface_hub
4b536c3 verified
Raw
History Blame Contribute Delete
1.08 kB
FROM python:3.11-slim
# Install Cloudflare WARP
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
ca-certificates \
gpg \
&& curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --dearmor -o /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ bookworm main" > /etc/apt/sources.list.d/cloudflare-client.list \
&& apt-get update \
&& apt-get install -y cloudflare-warp \
&& rm -rf /var/lib/apt/lists/*
# Install Python dependencies
RUN pip install --no-cache-dir fastapi uvicorn httpx[socks]
# Create non-root user (HF Spaces requirement)
RUN useradd -m -u 1000 user
# Copy app
WORKDIR /app
COPY --chown=user . .
# MUST run as root for warp-svc
# entrypoint.sh handles starting WARP then dropping to user
# Environment
ENV PYTHONUNBUFFERED=1
EXPOSE 7860
# Copy and use entrypoint
COPY entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]