From d645b9f595a9fc2c680c825c15a5efb4c35c4969 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 18 Feb 2026 07:52:13 +0000 Subject: build: Switch from Earthly to Dockerfile --- Dockerfile | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Dockerfile (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..37e6bb7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +# syntax=docker/dockerfile:1.7 + +ARG RUSTC_VERSION=stable + +FROM clux/muslrust:${RUSTC_VERSION} AS build + +WORKDIR /source + +RUN cargo new september + +WORKDIR /source/september + +COPY Cargo.toml Cargo.lock ./ + +RUN --mount=type=cache,target=/root/.cargo/registry \ + --mount=type=cache,target=/root/.cargo/git \ + cargo build --release + +COPY .git ./.git +COPY src ./src +COPY build.rs ./build.rs +COPY default.css . + +RUN --mount=type=cache,target=/root/.cargo/registry \ + --mount=type=cache,target=/root/.cargo/git \ + cargo build --release --bin september +RUN set -eux; \ + bin_path="$(find /source/september/target -type f -path '*/release/september' | head -n 1)"; \ + test -n "${bin_path}"; \ + strip -s "${bin_path}"; \ + cp "${bin_path}" /source/september/september +RUN strip -s /source/september/september + +FROM scratch AS runtime + +WORKDIR /september + +COPY --from=build /source/september/september ./september + +EXPOSE 80 + +ENTRYPOINT ["./september"] -- cgit v1.2.3