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