diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..d4a8d5a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,13 @@ +/target +/out + +/.env +/api.http + +/emgauwa-*.sqlite +/emgauwa-*.sqlite-* +/emgauwa-*.json + +/.dockerignore +/Dockerfile +/docker-bake.hcl diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..48fee01 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM rust:1 as builder + +RUN rustup target add x86_64-unknown-linux-musl && \ + apt update && \ + apt install -y musl-tools musl-dev && \ + update-ca-certificates + +COPY ./ /emgauwa +WORKDIR /emgauwa +RUN cargo build --target x86_64-unknown-linux-musl --release + +FROM scratch +COPY --from=builder /emgauwa/target/x86_64-unknown-linux-musl/release/emgauwa-controller /usr/bin/emgauwa-controller + +CMD ["/usr/bin/emgauwa-controller"] diff --git a/docker-bake.hcl b/docker-bake.hcl new file mode 100644 index 0000000..c07d106 --- /dev/null +++ b/docker-bake.hcl @@ -0,0 +1,15 @@ +variable "REG" { + default = "registry.serguzim.me" +} +variable "REPO" { + default = "emgauwa/controller" +} +variable "TAG" { + default = "latest" +} + +target "default" { + output = ["type=docker"] + dockerfile = "./Dockerfile" + tags = ["${REG}/${REPO}:latest", "${REG}/${REPO}:${TAG}"] +}