From 3e76975348fcf8bb21100041b673217b03ac9f53 Mon Sep 17 00:00:00 2001 From: mainnet-pat Date: Mon, 12 Aug 2024 09:54:37 +0000 Subject: [PATCH] Add docker support --- .dockerignore | 4 ++++ Dockerfile | 23 +++++++++++++++++++++++ docker-compose.yml | 9 +++++++++ 3 files changed, 36 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..6f6bec5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +target +data +Dockerfile +docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..866b850 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM debian:bookworm-slim AS builder + +RUN apt update && apt install -y curl build-essential libsqlite3-dev +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.79.0 +ENV PATH="/root/.cargo/bin:${PATH}" +COPY . /app +WORKDIR /app +RUN cargo install --path . + + +FROM debian:bookworm-slim + +WORKDIR /app/ +COPY --from=builder /root/.cargo/bin/riftenlabs-indexer /usr/local/bin/riftenlabs-indexer +RUN set -ex \ + && apt-get update \ + && apt-get install -qq --no-install-recommends sqlite3 \ + && rm -rf /var/lib/apt/lists/* + +EXPOSE 8000 +ENV ROCKET_ENV=prod +ENV ROCKET_ADDRESS=0.0.0.0 +CMD ["riftenlabs-indexer"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..32191b0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: "3.8" +services: + indexer: + build: . + ports: + - "127.0.0.1:8000:8000" + volumes: + - ./data:/app + restart: always