diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..43caff1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# Setup build image for multistage build +FROM rust:latest as builder +# install build deps +RUN apt-get update && apt-get upgrade -y +RUN apt-get install -yqq --no-install-recommends capnproto build-essential cmake clang libclang-dev libgsasl7-dev + +WORKDIR /usr/src/bffh +COPY . . +RUN cargo install --path . + + +# Setup deployable image +FROM debian:buster-slim +# Install runtime deps +RUN apt-get update && apt-get upgrade -yqq +RUN apt-get install -yqq libgsasl7 && rm -rf /var/lib/apt/lists/* +COPY --from=builder /usr/local/cargo/bin/diflouroborane /usr/local/bin/diflouroborane +# RUN diflouroborane --print-default > /etc/diflouroborane.toml +VOLUME /etc/diflouroborane.toml +EXPOSE 59661 +ENTRYPOINT ["diflouroborane"] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..004ea66 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,12 @@ +version: "3.8" +services: + bffh: + build: . + ports: + - "59661:59661" + volumes: + - "$PWD/config.toml:/etc/diflouroborane.toml" + links: + - mqtt + mqtt: + image: eclipse-mosquitto \ No newline at end of file