From 2738f0e01e36ab84173ef765c3a3df8761f402b1 Mon Sep 17 00:00:00 2001 From: Wynd Date: Sat, 28 Feb 2026 14:10:27 +0200 Subject: [PATCH] Added a dockerfile and docker compose example --- Cargo.lock | 2 +- Cargo.toml | 2 +- Dockerfile | 24 ++++++++++++++++++++++++ docker-compose.yml | 19 +++++++++++++++++++ 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Cargo.lock b/Cargo.lock index 62e54a5..79a4da5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -225,7 +225,7 @@ dependencies = [ [[package]] name = "recipe-sync-server-rs" -version = "0.1.0" +version = "1.0.0" dependencies = [ "clap", "env_logger", diff --git a/Cargo.toml b/Cargo.toml index 68c5de2..7fd094a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "recipe-sync-server-rs" -version = "0.1.0" +version = "1.0.0" edition = "2024" [lints.rust] diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a29ab01 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +# -]--- builder image + +FROM rust:1.93.1-alpine3.21 AS builder + +WORKDIR /app + +COPY . . + +RUN cargo build --target x86_64-unknown-linux-musl --release + +# -]--- final image + +FROM alpine:3.21 + +# Create app directory +WORKDIR /app + +# Expose the 8000 port for HTTP traffic +EXPOSE 9696 + +COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/recipe-sync-server-rs ./ + +ENTRYPOINT [ "/app/recipe-sync-server-rs" ] +CMD [ "-e", "/app/recipes" ] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f00260c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,19 @@ +services: + recipes-sync-server-rs: + image: pixelatedw/recipes-sync-server-rs:1.0.0 + container_name: recipes-sync-server-rs + restart: unless_stopped + ports: + - "9696:9696" + volumes: + - ./recipes:/app/recipes + environment: + - RUST_LOG=info + networks: + - sync-net + +networks: + sync-net: + ipam: + config: + - subnet: 172.20.0.0/24