browser-instance / Dockerfile
harvesthealth's picture
Upload folder using huggingface_hub
f474019 verified
FROM rust:1.80-slim-bookworm as builder
WORKDIR /app
# Install necessary build tools
RUN apt-get update && apt-get install -y pkg-config libssl-dev cmake
# Copy the entire workspace
COPY . .
# Build the CLI crate in release mode
RUN cargo build --release
# Production image
FROM debian:bookworm-slim
WORKDIR /app
# Install run-time dependencies
RUN apt-get update && apt-get install -y python3 python3-pip && rm -rf /var/lib/apt/lists/*
# Install fastapi and uvicorn for the proxy server
RUN pip3 install --no-cache-dir fastapi uvicorn[standard] pydantic requests --break-system-packages
# Copy the compiled firm binary
COPY --from=builder /app/target/release/firm /usr/local/bin/firm
# Copy the example workspace to use as data
COPY --from=builder /app/example /app/workspace
# Copy the server python file
COPY app.py /app/app.py
COPY firmskill.md /app/firmskill.md
EXPOSE 7860
# Run the python app
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]