diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c15cca66..79a221e0 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -42,6 +42,18 @@ jobs: - 'mpcs/**' - 'docker/deep-prove-worker.dockerfile' - '.github/workflows/docker.yml' + deep-prove-aws-client: + - 'zkml/**' + - 'deep-prove/**' + - 'mpcs/**' + - 'docker/deep-prove-aws-client.dockerfile' + - '.github/workflows/docker.yml' + deep-prove-aws-worker: + - 'zkml/**' + - 'deep-prove/**' + - 'mpcs/**' + - 'docker/deep-prove-aws-worker.dockerfile' + - '.github/workflows/docker.yml' build: name: Build Docker Image needs: changes diff --git a/deep-prove/src/bin/cli/local.rs b/deep-prove/src/bin/cli/local.rs index f99b4803..ca767385 100644 --- a/deep-prove/src/bin/cli/local.rs +++ b/deep-prove/src/bin/cli/local.rs @@ -81,7 +81,7 @@ pub async fn connect(executor: Executor) -> anyhow::Result<()> { let body = resp .body_mut() .with_config() - .limit(1000 * 1024 * 1024) + .limit(200 * 1024 * 1024) .read_to_vec()?; file.write_all(&body)?; info!("proof received, saved to {}", file.path().display()); diff --git a/deep-prove/src/bin/worker/api.rs b/deep-prove/src/bin/worker/api.rs index a8c8ed48..5abf5fab 100644 --- a/deep-prove/src/bin/worker/api.rs +++ b/deep-prove/src/bin/worker/api.rs @@ -31,7 +31,7 @@ pub async fn serve(args: RunMode) -> anyhow::Result<()> { #[derive(Default)] struct AppState { work_queue: Vec, - proofs_queue: Vec>, + proofs_queue: Vec, } let RunMode::LocalApi { @@ -87,7 +87,7 @@ pub async fn serve(args: RunMode) -> anyhow::Result<()> { match result { Ok(proofs) => { info!("proof generated in {}s", now.elapsed().as_secs()); - app_state.lock().await.proofs_queue.push(proofs); + app_state.lock().await.proofs_queue.extend(proofs); } Err(err) => error!("failed to generate proof: {err:?}"), } diff --git a/deep-prove/src/bin/worker/main.rs b/deep-prove/src/bin/worker/main.rs index 46cfc275..b328038a 100644 --- a/deep-prove/src/bin/worker/main.rs +++ b/deep-prove/src/bin/worker/main.rs @@ -304,7 +304,7 @@ enum RunMode { json: bool, /// The maximal proof request size to accept (in MB) - #[arg(long, env, default_value_t = 100)] + #[arg(long, env, default_value_t = 200)] max_body_size: usize, }, } diff --git a/docker/deep-prove-aws-client.dockerfile b/docker/deep-prove-aws-client.dockerfile new file mode 100644 index 00000000..61367b45 --- /dev/null +++ b/docker/deep-prove-aws-client.dockerfile @@ -0,0 +1,28 @@ +FROM rustlang/rust:nightly-slim AS builder +RUN apt-get update && apt-get install -y git protobuf-compiler libssl-dev pkg-config + +WORKDIR /deep-prove-client +COPY . . + +RUN cargo install --locked --path deep-prove --bin deep-prove-cli + + +# Create the actual final image +FROM docker.io/library/ubuntu:22.04 + +ARG USER_ID=1000 +ARG GROUP_ID=1000 +RUN groupadd -g ${GROUP_ID} lagrange && \ + useradd -m -u ${USER_ID} -g lagrange lagrange + +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y libssl3 ca-certificates && \ + update-ca-certificates && \ + rm -rf /var/lib/apt/lists/* + +COPY --from=builder /usr/local/cargo/bin/deep-prove-cli /usr/local/bin +ENV RUST_BACKTRACE=full +USER lagrange +ENTRYPOINT ["/usr/local/bin/deep-prove-cli", "local-api"] +CMD ["fetch"] diff --git a/docker/deep-prove-aws-worker.dockerfile b/docker/deep-prove-aws-worker.dockerfile new file mode 100644 index 00000000..3125b80d --- /dev/null +++ b/docker/deep-prove-aws-worker.dockerfile @@ -0,0 +1,28 @@ +FROM rustlang/rust:nightly-slim AS builder +RUN apt-get update && apt-get install -y git protobuf-compiler libssl-dev pkg-config + +WORKDIR /deep-prove-worker +COPY . . + +RUN cargo install --locked --path deep-prove --bin deep-prove-worker + + +# Create the actual final image +FROM docker.io/library/ubuntu:22.04 + +ARG USER_ID=1000 +ARG GROUP_ID=1000 +RUN groupadd -g ${GROUP_ID} lagrange && \ + useradd -m -u ${USER_ID} -g lagrange lagrange + +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y libssl3 ca-certificates && \ + update-ca-certificates && \ + rm -rf /var/lib/apt/lists/* + +COPY --from=builder /usr/local/cargo/bin/deep-prove-worker /usr/local/bin +EXPOSE 8080 +ENV RUST_BACKTRACE=full +USER lagrange +CMD ["/usr/local/bin/deep-prove-worker", "local-api"]