diff --git a/.containerignore b/.containerignore new file mode 100644 index 0000000..0452578 --- /dev/null +++ b/.containerignore @@ -0,0 +1,4 @@ +* +!src/ +!Cargo.lock +!Cargo.toml diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..a8672f8 --- /dev/null +++ b/Containerfile @@ -0,0 +1,30 @@ +FROM registry.fedoraproject.org/fedora AS build + +RUN --mount=type=cache,target=/var/cache \ + dnf5 install -y \ + --setopt persistdir=/var/cache/dnf \ + --setopt install_weak_deps=0 \ + cargo \ + openssl-devel \ + paho-c-devel \ + && : + +WORKDIR /src + +COPY . . + +RUN cargo build --release && strip target/release/mqtt2vl + + +FROM git.pyrocufflink.net/containerimages/dch-base + +RUN --mount=type=cache,target=/var/cache \ + dnf5 install -y \ + --setopt persistdir=/var/cache/dnf \ + --setopt install_weak_deps=0 \ + paho-c \ + && : + +COPY --from=build /src/target/release/mqtt2vl /usr/local/bin/mqtt2vl + +ENTRYPOINT ["mqtt2vl"]