From 5bfb6f9bf864784f67203d34abdcfbde2d66f4e2 Mon Sep 17 00:00:00 2001 From: ad Date: Thu, 4 Jul 2024 17:16:11 +0200 Subject: [PATCH] adds docker --- Makefile | 29 +++++++++++++++++++++++++++++ tracker/Dockerfile | 21 +++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 Makefile create mode 100644 tracker/Dockerfile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3281639 --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ +.PHONY: build_all build_bt build_tracker run_bt run_tracker stop_bt stop_tracker clean_all + +build_all: build_bt build_tracker + +build_bt: + docker build -t bt -f bt/Dockerfile . + +build_tracker: + docker build -t tracker -f tracker/Dockerfile . + +run_bt: + docker run --rm --name bt bt:latest + +run_tracker: + docker run --rm --name tracker -p 3030:3030 tracker:latest + +stop_bt: + docker stop bt + +stop_tracker: + docker stop tracker + +clean_bt: + docker rm -f bt + +clean_tracker: + docker rm -f tracker + +clean_all: clean_bt clean_tracker diff --git a/tracker/Dockerfile b/tracker/Dockerfile new file mode 100644 index 0000000..a975e4c --- /dev/null +++ b/tracker/Dockerfile @@ -0,0 +1,21 @@ +# Base image +FROM rust:latest as builder +WORKDIR /build +COPY ./tracker/Cargo.lock ./tracker/Cargo.toml ./ + +# Build dependencies (this will cache dependencies if unchanged) +RUN mkdir src \ + && echo "// dummy file" > src/lib.rs \ + && cargo build --release + +COPY src src +RUN cargo build --locked --release +RUN cp ./target/release/$APP_NAME /bin/tracker + +# Final stage: Use a minimal runtime image +FROM alpine:latest +COPY --from=builder /bin/tracker . + +EXPOSE 3030 + +CMD ["./tracker"]