| |
| FROM rustlang/rust:nightly-bookworm-slim as builder |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| pkg-config \ |
| libssl-dev \ |
| clang \ |
| protobuf-compiler \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| WORKDIR /app |
|
|
| |
| COPY Cargo.toml ./ |
|
|
| |
| RUN mkdir -p src && \ |
| echo '#[tokio::main]' > src/main.rs && \ |
| echo 'async fn main() { println!("Building dependencies..."); }' >> src/main.rs |
|
|
| |
| RUN cargo build --release |
| RUN rm -rf src target/release/deps/cursor_api* |
|
|
| |
| COPY src ./src |
|
|
| |
| COPY patch ./patch || echo "No patch directory found, continuing..." |
|
|
| |
| COPY tools ./tools |
| COPY build.rs ./ |
|
|
| |
| RUN cargo build --release |
|
|
| |
| FROM debian:bookworm-slim |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| ca-certificates \ |
| && rm -rf /var/lib/apt/lists/* \ |
| && apt-get clean |
|
|
| WORKDIR /app |
|
|
| |
| COPY --from=builder /app/target/release/cursor-api /usr/local/bin/cursor-api |
|
|
| |
| RUN groupadd -r user && useradd -r -g user -u 1000 user |
|
|
| |
| RUN chmod +x /usr/local/bin/cursor-api |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| USER user |
|
|
| |
| CMD ["cursor-api"] |
|
|