diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..189df91 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,14 @@ +# Directories +/.git/ +/.github/ +/target/ +/.cargo/ + +# Files +.editorconfig +.gitignore +*.md +*.yml +Dockerfile +LICENSE* +rustfmt.toml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..79bce4e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM ekidd/rust-musl-builder:latest as builder +WORKDIR /home/rust/src +COPY . . +RUN cargo build --locked --release -p systeroid +RUN cargo build --locked --release --no-default-features -p systeroid-tui +RUN mkdir -p build-out/ +RUN ["/bin/bash", "-c", "cp target/x86_64-unknown-linux-musl/release/systeroid{,-tui} build-out/"] + +FROM scratch +WORKDIR /app +COPY --from=builder \ + /home/rust/src/build-out/systeroid \ + /home/rust/src/build-out/systeroid-tui \ + /usr/local/bin/ +USER 1000:1000 +ENTRYPOINT ["systeroid"]